更新时间:2026-09-14 GMT+08:00

心跳数据格式介绍

针对MySQL > Kafka、PostgreSQL > Kafka、GaussDB > Kafka、Oracle > Kafka链路,支持配置将心跳表数据输出至Topic。心跳表数据的输出格式与链路配置的数据格式保持一致,包括Canal-Json和Debezium-Json两种类型,分别如下: 与普通数据格式的主要区别在于新增isHeartbeat字段,其值为true,下游数据处理程序可根据该字段过滤心跳表数据。

  • Canal-Json
    {
    	"id": 39,
    	"serverId": "1753240249",
    	"data": [
    		{
    			"dlf_job_id": "1129476",
    			"external_job_id": "158663",
    			"heartbeat": 1768910859110
    		}
    	],
    	"old": [
    		{
    			"dlf_job_id": "1129476",
    			"external_job_id": "158663",
    			"heartbeat": 1768910829110
    		}
    	],
    	"es": 1768910859000,
    	"table": "your_heartbeat_table_name",
    	"type": "UPDATE",
    	"database": "your_database_name",
    	"ts": 1768910859116,
    	"mysqlType": {
    		"dlf_job_id": "VARCHAR(128)",
    		"external_job_id": "VARCHAR(128)",
    		"heartbeat": "BIGINT(20)"
    	},
    	"sqlType": {
    		"dlf_job_id": 12,
    		"external_job_id": 12,
    		"heartbeat": -5
    	},
    	"dbType": "mysql",
    	"isDdl": false,	"pkNames": [
    		"dlf_job_id"
    	],
    	"dataSourceName": "mysql_binlog_source",
    	"isHeartbeat": true
    }
  • Debezium-Json
    {
    	"before": {
    		"dlf_job_id": "1129476",
    		"external_job_id": "158703",
    		"heartbeat": 1768987457610
    	},
    	"after": {
    		"dlf_job_id": "1129476",
    		"external_job_id": "158703",
    		"heartbeat": 1768987487610
    	},
    	"source": {
    		"name": "mysql_binlog_source",
    		"db": "your_database_name",
    		"table": "your_heartbeat_table_name",
    		"pkNames": [
    			"dlf_job_id"
    		],
    		"sqlType": {
    			"dlf_job_id": 12,
    			"external_job_id": 12,
    			"heartbeat": -5
    		},
    		"mysqlType": {
    			"dlf_job_id": "VARCHAR(128)",
    			"external_job_id": "VARCHAR(128)",
    			"heartbeat": "BIGINT(20)"
    		}
    	},
    	"tableChange": {
    		"type": "CREATE",
    		"previousId": null,
    		"id": {},
    		"table": {}
    	},
    	"tsMs": 1768987487000,
    	"op": "u",
    	"dataSourceName": "mysql_binlog_source",
    	"dbType": "mysql",
    	"isHeartbeat": true
    }