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)