package com.hw.demo01
import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}import org.apache.flink.streaming.api.scala._
/*** @aurhor:fql
* @date 2019/10/1420:03* @type: flink的单词统计案例
*/object WordCount_flink {defmain(args: Array[String]): Unit ={//1.创建流处理的环境-远程发布|本地执行
val fsEnv = StreamExecutionEnvironment.getExecutionEnvironment
//2.读取外围系统数据-细化
val lines:DataStream[String]=fsEnv.socketTextStream("CentOS",9999)
lines.flatMap(_.split("\\s+")).map((_,1)).keyBy(t=>t._1).sum(1).print()//3.执行计算
fsEnv.execute("wordcount")}}
将程序打包
[root@CentOS flink-1.8.1]# ./bin/flink run --class com.hw.demo01.WordCount_flink --detached --parallelism 3 /root/original-flink-1.0-SNAPSHOT.jar
Starting execution of program
Job has been submitted with JobID b7c2555ba5f9e847c426a18e8af0748f
[root@CentOS flink-1.8.1]# ./bin/flink run --class com.hw.demo01.WordCount_flink --detached --parallelism 3 /root/original-flink-1.0-SNAPSHOT.jar
UI 界面提交
跨平台
val jarFiles="flink\\target\\original-flink-1.0-SNAPSHOT.jar"//测试
val fsEnv = StreamExecutionEnvironment.createRemoteEnvironment("CentOS",8081,jarFiles)
本地模拟
val fsEnv = StreamExecutionEnvironment.createLocalEnvironment(3)
或者
val fsEnv = StreamExecutionEnvironment.getExecutionEnvironment //自动识别运行环境,一般用于生产