txt文档内容
hello world
hello flink
hello scala
how are you
fine thank you
and youscala代码
import org.apache.flink.api.scala._
// 批处理 word count
object WordCount {
  def main(args: Array[String]): Unit = {
    // 创建一个批处理的执行环境,这里是批处理环境,流处理环境和这个批处理环境不一样的.
    val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironment
    // 从文件中读取数据,
    //批处理核心结构就是dataset
    //readTextFile 是读取txt文件.
    val inputDataSet: DataSet[String] = env.readTextFile("D:\\Downloads\\word.txt")
    // 基于 DataSet做转换,首先按空格分词打散,然后按照word作为key做group by
    val resultDataSet: DataSet[(String, Int)] = inputDataSet
      //      .flatMap(_.split(" ")) // 分词得到所有word构成的数据集
      .flatMap(x => x.split(" ")) // 分词得到所有word构成的数据集
      .map((_, 1))
      .groupBy(0) // 以二元组中第一个元素作为 key分组
      .sum(1) // 聚合二元组中第二个元素的值,注意,这个是按索引的下标来的. 0是第一个元素 1 是第二个元素.
    resultDataSet.print() // 打印输出
  }
}说明:
 groupBy(0) 是根据map里面的元祖的第一个下标的元素作为分组,
执行后输出结果:
(thank,1)
(and,1)
(fine,1)
(flink,1)
(world,1)
(are,1)
(scala,1)
(you,3)
(hello,3)
(how,1)                
                










