预计一周时间来完成这篇文章, 对Flink文档提供的基础入门的每个环节进行研究记录(目的是想参加阿里的Flink编程比赛):
如图Flink提供了不同级别的抽象编程模型,先看最低级别的Stateful Stream Processing,它通过Process Function嵌入到DataStream API当中(有说法是在Flink未来的迭代过程当中会移除DataSet API, 在现有理解概念当中 DataStream是针对于无界数据集,DataSet是针对于有界数据集). 然后就对Process Function进行探索。
ProcessFunction
它是一个低阶的流处理操作,通过它可以访问流应用程序所构建的basic building blocks. basic building blocks对应于下列三个概念。(但是在后面的文档阅读当中又提及到Flink程序的basic building blocks 是 streams and transformations).
(1)events(流元素,也就是流数据)
(2) state(容错和一致性状态,在keyed stream中才会有的概念, keyed stream暂且未知, 后续补上)
(3) timer(事件时间和处理时间, 也