1.编写代码
package org.tysf.yx
import org.apache.flink.streaming.api.scala.{StreamExecutionEnvironment, createTypeInformation}
object StreamWordCount {
def main(args: Array[String]): Unit = {
//创建执行环境
val env = StreamExecutionEnvironment.getExecutionEnvironment
//从外部命令提交参数:“主机名,端口号”
val paramTool = ParameterTool.fromArgs(args)
val host = paramTool.get("host")
val port = paramTool.getInt("port")
//接受socket文本流
val inputdatastream = env.socketTextStream(host,port)
//对数据进行转换处理
val resultdatastream = inputdatastream
.flatMap(_.split(" "))
.filter(_.nonEmpty)
.map((_,1))
.keyBy(0)
.sum(1)
//打印输出
resultdatastream.print()
//触发程序,启动任务执行程序
env.execute()
}
}
2.提交参数
输入后apply->ok
然后打开cmd (win+r cmd) nc -lp 7777(端口号)
然后执行程序即可