java -jar consumerDemo-json-1.0-SNAPSHOT.jar --brokers xxx --topic xxx --group xxx --user xxx --password xxx --trans2sql --trans2canal
broker
为数据订阅 Kafka 的内网访问地址,topic
为数据订阅任务的订阅 topic,这两个可在 订阅详情 页查看。group
、user
、password
分别为消费组的名称、账号和密码,可在 消费管理 页查看,trans2sql
表示是否转换为 SQL 语句,java 代码中,携带该参数表示转换为 SQL 语句,不携带则不转换。trans2canal
表示是否转换为 Canal 格式打印出来,携带该参数表示转换为 Canal 格式,不携带则不转换。go build -o subscribe ./main/main.go
,生成可执行文件 subscribe。./subscribe --brokers=xxx --topic=xxx --group=xxx --user=xxx --password=xxx --trans2sql=true
。broker
为数据订阅 Kafka 的内网访问地址,topic
为数据订阅任务的订阅 topic,这两个可在 订阅详情 页查看。group
、user
、password
分别为消费组的名称、账号和密码,可在 消费管理 页查看。trans2sql
表示是否转换为 SQL 语句。pip install flagpip install kafka-python
python main.py --brokers=xxx --topic=xxx --group=xxx --user=xxx --password=xxx --trans2sql=1
。broker
为数据订阅 Kafka 的内网访问地址,topic
为数据订阅任务的订阅 topic,这两个可在 订阅详情 页查看。group
、user
、password
分别为消费组的名称、账号和密码,可在 消费管理 页查看。trans2sql
表示是否转换为 SQL 语句。consumerDemo-json-java\\src\\main\\java\\json\\FlatRecord.java
。Record 中的字段名称 | 说明 |
id | 全局递增 ID。 |
version | 协议版本,当前版本为1。 |
messageType | 消息类型,枚举值:"INSERT","UPDATE","DELETE","DDL","BEGIN","COMMIT","HEARTBEAT","CHECKPOINT"。 |
fileName | 当前 record 所在的 binlog 文件名。 |
position | 当前 record 的在 binlog 中结束的偏移量,格式为 End_log_pos@binlog 文件编号。比如,当前 record 位于文件 mysql-bin.000004 中,结束偏移量为2196,则其值为"2196@4"。 |
safePosition | 当前事务在binlog中开始的偏移量,格式同上。 |
timestamp | 写入binlog的时间,unix时间戳,秒级。 |
gtid | 当前的 gtid,如:c7c98333-6006-11ed-bfc9-b8cef6e1a231:9。 |
transactionId | 事务 ID,只有 commit 事件才会生成事务ID。 |
serverId | 源库 serverId,查看源库 server_id 参考 SHOW VARIABLES LIKE 'server_id'。 |
threadId | 提交当前事务的会话 ID,参考 SHOW processlist;。 |
sourceType | 源库的数据库类型,当前版本只有 MySQL。 |
sourceVersion | 源库版本,查看源库版本参考
select version(); 。 |
schemaName | 库名。 |
tableName | 表名。 |
objectName | 格式为:库名.表名。 |
columns | 表中各列的定义。 |
oldColumns | DML 执行前该行的数据,如果是insert消息,该数组为null。 |
newColumns | DML 执行后该行的数据,如果是delete消息,该数组为null。 |
sql | DDL 的 SQL 语句。 |
executionTime | DDL 执行时长,单位为秒。 |
heartbeatTimestamp | 心跳消息的时间戳,秒级。只有 heartbeat 消息才有该字段。 |
syncedGtid | DTS 已解析 GTID 集合,格式形如:c7c98333-6006-11ed-bfc9-b8cef6e1a231:1-13。 |
fakeGtid | 是否为构造的假 GTID,如未开启 gtid_mode,则 DTS 会构造一个 GTID。 |
pkNames | 如果源库的表设有主键,则 DML 消息中会携带该参数,否则不会携带。 |
readerTimestamp | DTS 处理这条数据的时间,unix时间戳,单位为毫秒数。 |
tags | |
total | 如果消息分片,记录分片总数。当前版本 (version=1) 无意义,预留扩展。 |
index | 如果消息分片,记录当前分片的索引。当前版本 (version=1) 无意义,预留扩展。 |
本页内容是否解决了您的问题?