Flink 实时计算 - 词频统计初体验

第1关:Flink初体验
步骤如下:

1.开启两个命令行,一个命令行(A)执行:nc -lk 9000,另一个命令行(B) 提交 Flink 程序
在这里插入图片描述
2.在命令行(B)中提交 Flink 程序
进入到 /dataxx/workspace/myshixun_xxxxx/fpst4vko 目录下(注意:dataxx目录 xx 代表数字,请以命令行为主,myshixun_xxxx 目录是跟用户相关的,也就是说不同的用户,该目录的名称不一样,但是规则为 myshixun_xxxxx ,所以请以命令行为主,以上只是作为参照)

执行 flink run -c DataStream.Step1 ./Flink.jar
在这里插入图片描述
3.在命令行(A)上,随便输入单词或者字母(任意输入),最后回车键换行,并输入 quit,终止 Flink 程序 (注意:请在 Flink 程序提交之后,输入单词或者字母,最后回车,输入 quit )
在这里插入图片描述
可以看到命令行(B)已经执行完成
在这里插入图片描述
在这里插入图片描述
然后就成功啦!!

Apache Flink是一个开源流处理框架,用于实时数据处理和批处理任务。在Flink中进行词频统计是一种常见的文本分析操作,通常涉及到将输入流分割成单词,然后计算每个单词出现的频率。以下是使用Flink进行头歌(假设是指歌词)词频统计的一个简单步骤: 1. **设置环境**:首先,需要在Flink环境中创建DataStream API或Table API,这是Flink处理数据的主要接口。 2. **读取输入**:从外部源如Kafka、文件系统等获取头歌歌词的流数据,并将其转换为可以处理的Flink元素。 ```java StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<String> lyricsStream = env.readTextFile("file:///path/to/lyrics"); ``` 3. **分词处理**:对歌词进行清洗(例如去除标点符号、停用词),然后分割成单词。 ```java DataStream<Word> wordStream = lyricsStream.flatMap(line -> Arrays.asList(line.split("\\W+")).stream()); ``` 4. **计数和过滤**:使用`keyBy()`函数按照单词进行分组,然后应用`count()`操作得到每个单词的出现次数,并过滤掉无意义的词汇(如单个字符或空格)。 ```java DataStream<Tuple2<String, Long>> wordCount = wordStream .mapToPair(word -> new Tuple2<>(word, 1L)) .keyBy(0) .sum(1); ``` 5. **结果处理**:最后,你可以选择直接打印结果或者将结果持久化到文件、数据库或其他存储系统。 6. **运行作业**:配置好执行参数后,提交作业让Flink开始处理数据并更新词频信息。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值