flink streamWordCount demo

flink 的 wordCount  流式計算的demo

 

package com.hbn.wc

import org.apache.flink.api.scala._
import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}

object StreamWordCount {

  def main(args: Array[String]): Unit = {


    val  env:StreamExecutionEnvironment = StreamExecutionEnvironment.createLocalEnvironment()
    //  並行度
    env.setParallelism(8)

    val inputStream:DataStream[String] = env.socketTextStream("localhost",7777)

    val  result :DataStream[(String,Int)] = inputStream
      .flatMap(_.split(" "))
      .filter( _.nonEmpty)
      .map((_,1))
      .keyBy(0)  //  以  第一個 字段 分組
      .sum(1)   //  以 第二個 字段 求和


    result.print()

    env.execute("stream word  count  job")


  }


}

啓動後 執行結果 如圖所示 

 

5> (you,1)
8> (ok,1)
4> (are,1)
6> (how,1)
5> (you,2)
4> (are,2)
5> (fine,1)
3> (hello,1)
7> (flink,1)
3> (hello,2)
2> (saprk,1)
3> (hello,3)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章