大數據:Windows下配置flink的Stream

對於開發人員來說,最希望的是需要在windows中進行測試,然後把調試好的程序放在集羣中運行。下面寫一個Socket,上面是監控本地的一個運行端口,來實時的提取數據。獲取視頻中文檔資料及完整視頻的夥伴請加QQ羣:947967114

下面是一段代碼:

import org.apache.flink.api.java.utils.ParameterToolimport org.apache.flink.streaming.api.scala._import org.apache.flink.streaming.api.windowing.time.Timeobject SocketWindowWordCount { def main(args: Array[String]): Unit = { val port:Int=try{ ParameterTool.fromArgs(args).getInt("port") } catch{ case e:Exception=>{ System.out.print("Noport spacified.Please run 'SocketWindowWordCount'") return } } val env:StreamExecutionEnvironment=StreamExecutionEnvironment.getExecutionEnvironment val text=env.socketTextStream("localhost",port,'\n') val windowWordCount=text.flatMap{w=>w.split("\s+")}.map{w=>WordWithCount(w,1)}. keyBy("word").timeWindow(Time.seconds(5),Time.seconds(1)).sum("count") windowWordCount.print().setParallelism(1) env.execute("Socket Window WordCount") }}case class WordWithCount(word: String, count: Long){}

這個程序有幾個需要注意的。第一個org.apache.flink.streaming.api.windowing.time.Time是這個時間包的使用。第二個是org.apache.flink.streaming.api.scala._,不要直接引入org.apache.flink.streaming.api.scala.StreamExecutionEnvironment。
大數據:Windows下配置flink的Stream

配置windows的nc端口,在網上下載nc.exe(https://eternallybored.org/misc/netcat/)

選擇版本:解壓放在一個指定的目錄上。然後在cmd環境中進入到這個目錄。獲取視頻中文檔資料及完整視頻的夥伴請加QQ羣:947967114
大數據:Windows下配置flink的Stream

使用命令開始nc制定端口爲9000(nc -L -p 9000 -v)
大數據:Windows下配置flink的Stream

在IDEA中設置輸入參數:

大數據:Windows下配置flink的Stream

指定端口--port 9000,然後運行

大數據:Windows下配置flink的Stream

Cmd端口中輸入數據,在flink中可以看到實時的雲運算結果:

大數據:Windows下配置flink的Stream

至此,flink在windows中的一個stream配置完成。獲取視頻中文檔資料及完整視頻的夥伴請加QQ羣:947967114

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