Flink源码解析-从API到JobGraph

2020-07-01 00:00:00 数据 节点 下游 如下图 切分
首先,本文假定读者对流计算思想已经有基本的认识、对Flink的API已经熟练使用、对Flink的设计思想已经有初步了解,本文着重介绍从api到flinkjob的详细过程。

Streaming API

通常情况下,如果想要使用flink进行并行计算,开发者会把自己的业务逻辑抽象成流式计算的模型,使用flink提供的api定义Job来实现该模型,因此一个flinkjob的生命是从api开始的。我们从一个官网的word count的例子开始,稍做一些修改,代码如下:

如上便是一个flinkJob编写的方式:

首先,代码段1获取一个类StreamExecutionEnvironment的对象,我们稍后会详细介绍这个类;代码段2~7便是利用streamming Api来定义自己的Job,方法:

addSource( ... ),flatMap( ... ), keyBy(),
timeWindow( ... ), sum( ... ), print( ... )

相关文章