一.数据流编程模型
1.抽象层次
- Flink提供不同的抽象级别开发流/批处理应用程序。
- 最底层提供有状态流,嵌入到DataStream数据API函数。它允许用户自由从一个或多个流处理事件。
- Table API是一种围绕表的声明性DSL,可以动态的改变表,无缝的在表和DataStream/DataSet之间转换。
2.程序与数据流
- 数据流的基本模块是流和转换。
3.并行数据流
- 程序在Flink中是并行的和分布式的。
- 在one-to-one或者redistributing模式中,流可以在两个运算符之间转换数据。
- One-to-one streams(像在Source和map()之间的):保存着元素的分区和顺序。
- Redistributing streams(像在map() and keyBy/window 或者在keyBy/window and Sink之间的):改变了流的分区,在重新分配模式中,元素之间的排序仅在每对发送和接收子任务中保留。