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)