demo
package com.hbn.wc
import org.apache.flink.api.scala.{DataSet, ExecutionEnvironment}
import org.apache.flink.api.scala._
object WordCount {
def main(args: Array[String]): Unit = {
//获取执行环境
val env = ExecutionEnvironment.getExecutionEnvironment
//加载数据源
//val inputData = env.fromElements("china is the best country","beijing is the capital of china")
val inputData:DataSet[String] = env.readTextFile("/Users/H/Code/flinklearning/src/main/resources/wordcount.txt")
//转化处理数据
val result:DataSet[(String ,Int)] = inputData.flatMap(_.split(" ")).map((_,1)).groupBy(0).sum(1)
//输出至目的端
result.print()
// 执行操作
// 由于是Batch操作,当DataSet调用print方法时,源码内部已经调用Excute方法,所以此处不再调用,如果调用会出现错误
//env.execute("Flink Batch Word Count By Scala")
}
}
执行结果如图
(you,2)
(flink,1)
(ok,1)
(world,1)
(hello,3)
(are,2)
(,3)
(how,1)
(spark,1)
本文介绍使用Apache Flink进行批量文本数据处理,通过Scala实现词频统计的应用案例。从读取本地文件开始,经过数据转换处理,最终输出各单词出现频率。此案例展示了Flink在批量数据处理方面的高效性和灵活性。
11万+

被折叠的 条评论
为什么被折叠?



