原文链接https://www.infoq.cn/article/VH38YGxDCDccPESBHQWQ
秒级别、分钟级别和不高于 5 分钟级别
平台会对于原始数据做多级的非阻塞 ETL 加工,每一级都是非阻塞的 (nonblocking),主要是压缩和去重的操作,从而得到更高质量的数据,这个多级ETL的具体含义?
flink->parquet->多级ETL
Flink 处理完每个小时的事件后会向事件分区写入一个 Success 文件,这代表该小时的事件已经处理完毕,ETL 可以对于该小时的文件进行操作了
所谓 Smart 就是智能感知,需要两个相应的信息来引导 Global State Aggregator,分别是分区完整性标识 SuccessFile,在每个分区还有几个相应的 States 统计信息能够告诉下游的 ETL 怎样去重和压缩以及操作的频率和范围
当 Job 重新开始之后就会形成两个数据流,主数据流总是从最新的数据开始往下执行,附加数据流则可以回溯到之前中断的位置进行执行直到中断结束的位置,主Flink Job和回填 Flink Job并行运行