当前位置: 首页 > news >正文

外贸网站搭建难不难沈阳网站制作推广

外贸网站搭建难不难,沈阳网站制作推广,彩票网站怎么做推广,wordpress主题里文章添加留言板前言 单词统计【word count】是flink的最最最基础的入门案例,就如同学习java的第一堂课是运行一个hello world程序同样重要。 这里通过使用netcat发送数据来模拟无界数据流。 代码案例 在代码案例之前,我们需要先介绍一下netcat这个工具。 netcat介…

前言

单词统计【word count】是flink的最最最基础的入门案例,就如同学习java的第一堂课是运行一个hello world程序同样重要。

这里通过使用netcat发送数据来模拟无界数据流。

代码案例

在代码案例之前,我们需要先介绍一下netcat这个工具。

netcat介绍

netcat(简称nc)是一个强大的网络工具,被称之为网络瑞士军刀。他能通过TCP/UDP协议进行数据传输,支持一下核心功能

  • 端口扫描:测试端口是否开放
  • 数据传输:作为客户端、服务端发送或接收数据
  • 网络调试:模拟socket服务端或客户端

这个案例中,我们就使用netcat来模拟socket服务端来发送数据。

大多数的linux发行版本默认预装了netcat,直接使用nc命令就行了

# 安装(如未预装)
sudo apt install netcat  # Debian/Ubuntu
sudo yum install nc      # CentOS/RHEL# 启动服务端(监听端口 9999)
nc -lk 9999

笔者使用的是腾讯云轻量级服务器ubuntu,已经预装了netcat,记得要在开放对应的端口权限,比如

创建maven工程

创建一个简单的maven工程,对应的pom文件如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.tml</groupId><artifactId>flink-demo</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>flink-demo</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><flink.version>1.18.0</flink.version> <!-- 根据你的 Flink 版本进行调整 --><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-java</artifactId><version>${flink.version}</version></dependency><!-- Flink Streaming API --><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streaming-java</artifactId><version>${flink.version}</version></dependency><!-- Flink Table API and SQL --><dependency><groupId>org.apache.flink</groupId><artifactId>flink-clients</artifactId><version>${flink.version}</version></dependency></dependencies>
</project>

代码案例 

这里的需求就是,每来了一条消息,我就按照空字符进行切分,进行统计,比如hello world这样一条消息,我会根据空格来进行切分,对hello、world分别计数为1,最后进行累加,从而实时统计单词的数量

package com.tml;import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;/*** 从socket流读取数据*/
public class WordCountFromSocket {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);DataStream<String> socketTextStream = env.socketTextStream("xxx", 9999);//数据流处理SingleOutputStreamOperator<Tuple2<String, Integer>> sum = socketTextStream.flatMap(new Tokenizer()).keyBy(t -> t.f0).sum(1);sum.print();env.execute("Socket Stream WordCount~");}
}

真正的逻辑处理是在Tokenizer类中,对应的代码如下

package com.tml;import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.util.Collector;/*** 自定义 FlatMapFunction 实现单词拆分*/
public class Tokenizer implements FlatMapFunction<String, Tuple2<String,Integer>> {@Overridepublic void flatMap(String s, Collector<Tuple2<String, Integer>> collector) throws Exception {//按照空格或者制表符分割单词String[] words = s.split("\\s+");for (String word : words) {collector.collect(new Tuple2<>(word, 1));}}
}

 运行案例

先启动服务端

再启动客户端

运行main主类,发现程序再阻塞中,等待数据的流入,从这里也可以看出,flink是基于事件驱动的。

模拟socket输入

运行结果查看

 从控制台的结果输出可以看到,flink的实时统计的结果是没有问题的!

总结

flink入门级别的案例,从运行过程到运行结果,可以感受到flink实时计算的强大!完整的代码已上传至github【flink-demo】,欢迎围观!

http://www.dtcms.com/a/513586.html

相关文章:

  • 网站策划机构网络营销管理的起点是
  • Win10桌面图标变白?一键修复!【批处理版】
  • 网站空间是指什么免费网站空间有哪些
  • Java 大视界 -- 基于 Java 的大数据机器学习模型在图像识别中的迁移学习与模型优化
  • 建筑公司简介模板范文杭州seo运营
  • 不在百度做推广他会把你的网站排名弄掉营销策划方案制定
  • 想要个网站十堰秦楚网主页
  • 站点推广策略包括清晰化网站
  • 建设宠物网站的目的女装网站建设项目可行性分析
  • PHP网站开发工程师广告设计与制作专业需要美术功底吗
  • 两个男生如何做网站江西省赣州市会昌县
  • 抖音评论点赞自助网站做行程好的网站
  • 苏州seo营销郑州网站优化公司平台
  • vs做网站连数据库wordpress 电影采集
  • wordpress缓存清理插件搜索引擎优化专员
  • 用分布式做的网站哪些购物网站用php做的
  • dw建设手机网站做视频采集网站犯法
  • 杰理SDK入门教程(五):按键使用配置
  • 如何把视频放到自己的网站青岛网站建设‘’
  • 五金网站方案工信部网站域名备案
  • 友点企业网站模板下载黑龙江生产建设兵团网站
  • STM32H7 SPI通信的Underrun特性介绍 LAT1525
  • 网站查询seo网页广告设计师培训
  • 网站的营销方案百度口碑网
  • 有哪些做网站的公司网站建设 内容缺乏
  • 内蒙古建设安全监督网站wordpress取消伪静态
  • 延吉做网站网站备案 快递
  • 蜀icp备 网站建设中企动力成都怎么做优化关键词
  • 优速网站建设优化seo平面广告创意作品
  • 宁波搭建网站孝感公司做网站