flink 实战例子 createRemoteEnvironment

createRemoteEnvironment(host: String, port: Int, jarFiles: String*)
意思是将你本地的代码打的jar包,远程提交到已经存在的flink集群上.注意此程序再idea运行的时候,idea上不会有任何输出的.在这种模式下idea就是相当于一个传输所需jar文件的客户端,程序一旦执行之后,就和idea无关了.

1.代码如下:



package com.flink

import org.apache.flink.streaming.api.scala._
import org.apache.flink.streaming.api.windowing.assigners.TumblingProcessingTimeWindows
import org.apache.flink.streaming.api.windowing.time.Time
object StreamingJob {
  def main(args: Array[String]) {
//最后一个参数指的是当前代码打的包的路径
    val env = StreamExecutionEnvironment.createRemoteEnvironment("192.168.68.137",8081,"D:\\IT\\Project\\FlinkDemo\\target\\FlinkDemo-1.0-SNAPSHOT.jar")
    val text = env.socketTextStream("localhost", 9999)

    val counts = text.flatMap { _.toLowerCase.split("\\W+") filter { _.nonEmpty } }
      .map { (_, 1) }
      .keyBy(_._1)
      .window(TumblingProcessingTimeWindows.of(Time.seconds(5)))
      .sum(1)
//下面的输出不会再idea上输出
    counts.print()

    env.execute("Window 333 WordCount")
  }
}

2.在idea运行程序之前需要先maven打包

3.linux 运行: nc -l 9999

自己输入需要统计的单词.

4.在flink集群, ip:8081 查看运行的结果

在这里插入图片描述

注:在上面的解说中:我没有提linux flink环境的安装,以及项目的构建,详情参考:安装以及demo

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我先森

鼓励一个吧,哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值