如何构建批流一体数据融合平台的一致性语义保证?( 六 )

具体到做这件事,还可以有两种基础的应用模式。假如我需要将数据从 MySQL 同步到 Hive,可以直接建立一个 ETL 的 JOB(例如基于 Flink),其中封装所有的处理逻辑,包括从源端读取数据,然后进行变换写入目的地。在将代码编译好以后,就可以放到 Flink 集群上运行,得到想要的结果。这个集群环境可以提供所需要的基础能力,刚才提到的包括分布式,容错等。

如何构建批流一体数据融合平台的一致性语义保证?

数据融合的 MQ 模式

另一种模式是 ETL JOB 本身输入输出实际上都是面对消息队列的,实际上这是现在最常使用的一种模式。在这种模式下,需要通过一些独立的数据源和目的地连接器,来完成数据到消息队列的输入和输出。ETL JOB 可以用多种框架实现,包括 Flink、Kafka Streams 等,ETL JOB 只和消息队列发生数据交换。

如何构建批流一体数据融合平台的一致性语义保证?

DP 选择 MQ 模式的理由

推荐阅读