美文网首页Flink
Flink自学系列(三)提交任务(Flink-SocketWin

Flink自学系列(三)提交任务(Flink-SocketWin

作者: 程序员小白成长记 | 来源:发表于2021-08-30 00:30 被阅读0次

以官网Flink提供的SocketWindowWordCount为例,熟悉下Flink提交任务,执行任务的流程。

一、下载官方示例

下载对应版本的源代码包&二进制包

[注]: 二进制代码是flink的可运行的服务,压缩包中flink-1.13.2/examples下的文件都是jar包,jar包解压后都是 .class文件,所以我们想要看示例的源代码,也需要下载flink代码包的源代码。

以Flink的1.13.2为例,对应的二进制包和源代码如下:

  • flink-1.13.2-bin-scala_2.11.tgz:flink二进制包
  • flink-1.13.2-src.tgz:flink源代码包
image.png

解压源代码包flink-1.13.2-src.tgzcd flink-1.13.2-src/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/socket,观察一下SocketWindowWordCount.java程序。

image.png

发现在执行的时候需要指定定一下参数,下边分别来看一下WebUI和命令行提交任务的过程。

二、提交任务

2.1 WebUI提交任务

flink-1.13.2/examples/streaming/SocketWindowWordCount.jar为例看一下flink webUI和命令行提交任务的过程。

1,nc命令构造socket流的生产端

因为SocketWindowWordCount是读取的socket流中的数据,所以需要构造一下socket生产端,nc命令可以伪造一个socket流的生产端

nc -l 9090

2,webUI提交任务
1)Add New选择任务
2)指定主类、命令行参数、并行度等参数
3)点击Submit

image.png
  • 生产端实时输入
image.png
  • flink程序实时输出
image.png

2.2 命令行提交任务

./flink-1.13.2/bin/flink run flink-1.13.2/examples/streaming/SocketWindowWordCount.jar --hostname 127.0.0.1 --port 9090

[注] 别忘记启动生产端nc -l 9090,否则会报错。

image.png

如上图所示,左侧为生产端,右侧为flink的任务提交。结果还是需要到webUI上去看。

image.png

[注] 发现有的字段没有累加,查看代码,发现这里还涉及了一个窗口的概念。

参考

【1】Flink学习笔记(1):Word Count:https://www.jianshu.com/p/26c9ef86fb19

相关文章

网友评论

    本文标题:Flink自学系列(三)提交任务(Flink-SocketWin

    本文链接:https://www.haomeiwen.com/subject/znawiltx.html