一、Flink基本编程模型
1、Stateful Stream Processing
- 它位于最底层, 是core API 的底层实现;推荐学习时使用,生产中以稳定为主,不建议使用。
- processFunction:开发复杂、比较灵活,刚开始学习时,不推荐使用。
- 利用低阶 API,构建一些新的组件(比如:利用其定时做一定情况下的匹配和缓存)
- 灵活性高,但开发比较复杂。
2、Core APIs
- DataStream
- DataSet
3、Table & SQL
- SQL 构建在Table 之上,都需要构建Table 环境。
- 不同的类型的Table 构建不同的Table 环境。
- Table 可以与DataStream或者DataSet进行相互转换。
- Streaming SQL 不同于存储的SQL, 最终会转化为流式执行计 划。
二、Flink 构建的流程
1、构建计算环境(决定采用哪种计算执行方式)
datastream(无边界,死循环) 和 dataset(有边界,直到找到那个数据为止)
2、创建Source(可以多个数据源)
•对数据进行不同方式的转换(提供了丰富的算子)
•对结果的数据进行Sink(可以输出到多个地方)
注意:不能少写execute