新增Kafka实时采集

本节介绍如何在实时计算中配置Kafka实时采集任务。
实时计算支持Kafka数据库的实时采集,并实时将变更信息同步至目标数据源。

参数配置

image.png
配置 说明

数据源

选择对应数据类型的已有数据源

Topic

选择数据源下Topic作为数据来源

操作步骤

具体操作可参考快速开始中的 实时采集

写入Kafka目标源

数据有序

平台支持用户在写入Kafka目标源的过程中开启数据有序开关,以保证数据在写入Kafka Topic Partition的过程中有序;

当用户开启数据有序时,读取、写入并发度必须为一

写入分区逻辑

平台会根据用户所选采集表的数量和采集方式有不同的写入逻辑:

采集数量 采集源 数据有序 写入设置 读取并发度 写入规则

单表

所有数据源

关闭

不设置Partition Key

不限制

随机写入所有Topic Partition

单表

所有数据源

开启

不设置Partition Key

读取、写入并发度为1

默认写入第一个Topic Partition且数据有序

单表

所有数据源

关闭

设置Partition Key:当源表为MySQL、Oracle间隔轮询模式时,Partition Key必须包含在采集字段中

不限制

根据Partition Key分区写入,同一Key值保证在同一分区内

单表

所有数据源

开启

设置Partition Key

读取、写入并发度为1

根据Partition Key分区写入,同一Key值保证在同一分区内且数据有序

多表

MySQL Binlog、 Oracle LogMiner

关闭

/

不限制

根据 DB.Schema.Table 对数据表进行分区写入,同一表的数据保证写入同一分区内

多表

MySQL Binlog、 Oracle LogMiner

开启

/

读取、写入并发度为1

根据 DB.Schema.Table 对数据表进行分区写入,同一表的数据保证写入同一分区内且数据有序

当存在表数量 > Partition 数量时,根据Hash取余的规则将写入到不同的Partition中。
Q:当多个表中仅有部分表存在对应的Partition Key时,将会如何写入?

A:有对应Partition Key的源表将会根据主键字段写入对应分区,无Partition Key的源表将会随机写入分区。例如,MySQL A中具有主键id字段,