元数据和数据消息
本主题描述了由Kafka目标连接器生成的元数据和数据消息的结构和内容。
元数据消息
| 字段 | 类型 | 描述 |
|---|---|---|
| schemaId | 字符串 | Avro 架构的唯一标识符。 |
| 世系 | 結構 | 有关数据来源的信息(Qlik Talend Data Integration 服务器、任务、表等等) |
|
服务器 |
字符串 | Qlik Talend Data Integration 服务器的名称。 |
|
任务 |
字符串 | 任务的名称。 |
|
模式 (模式名称) |
字符串 | 数据库模式的名称。 |
|
表 (表格名称) |
字符串 | 表格的名称。 |
|
tableVersion |
整数 | Qlik Talend Data Integration 维护源表结构的版本号。当源上发生 DDL 更改时,版本会增加,并生成新的元数据消息。 |
|
时间戳 |
字符串 | 元数据消息的日期和时间。 |
| 表结构 | 結構 | 描述表的结构。 |
|
表列 |
結構 | 包含列及其属性的列表。 |
|
{列} |
結構 | 对于每列,一个包含以下属性的记录。 |
|
初始 |
整数 | 列在记录中的位置。 |
|
类型 |
字符串 | 列数据类型。 |
|
长度 |
整数 | 该列允许的最大数据大小(以字节为单位)。 |
|
精度 |
整数 | 对于 NUMERIC 数据类型,表示值所需的最大位数。 |
|
刻度 |
整数 | 对于 NUMERIC 数据类型,一个数字允许的小数点右边的最大位数。 |
|
primaryKeyPosition |
整数 | 列在表的主键或唯一索引中的位置。如果列不是表主键的一部分,则该值为零。 |
| dataSchema | 字符串 | 用于反序列化数据消息的 Avro 模式。 |
数据消息
| 字段 | 类型 | 描述 |
|---|---|---|
| 模式 (名称) | 字符串 | 包含复制的源表的源数据库模式的名称。 |
| 表格 (名称) | 字符串 | 源表的名称。 |
|
标题 |
結構 | 有关当前记录的信息。 |
|
操作 (Operation) |
枚举 | 操作类型。 全量加载 - 将源数据初始加载到目标主题 刷新 – 在完全加载期间向目标插入记录 CDC - 将源表更改应用到相关主题 INSERT – 插入新的目标记录 UPDATE – 将现有目标记录 UPDATE DELETE – 删除目标记录 |
|
changeSequence (更改序列) |
字符串 |
单调递增的变更序列器,对于任务的所有变更表都是通用的。 使用此字段按时间顺序对记录进行排序。 仅适用于 CDC 操作。 |
|
时间戳 (时间戳) |
字符串 |
原始更改 UTC 时间戳。 仅适用于 CDC 操作。 |
|
数据流位置 |
字符串 |
源 CDC 流位置。 仅适用于 CDC 操作。 |
|
事务 ID (事务 ID) |
字符串 |
更改记录所属事务的 ID。 使用此字段收集特定事务的所有更改。 仅适用于 CDC 操作。 |
|
changeMask(更改掩码) |
字符串 |
指示源表中更改了哪些数据列。 更改掩码是一个十六进制数字字符串,表示小端序数据列的位掩码。更改掩码中的位位置基于该表的元数据消息中列的序号。 这意味着,如果有 10 个数据列,它们在位掩码中占据位 0 到 9。 如果 UPDATE 掩码是十六进制的 0B(即二进制的 1011),则表示序号为 1、2 和 4 的列已更改。 以下描述了位语义:
信息注释
LOB 列不包含在 changeMask 位中。 |
|
columnMask (列掩码) |
字符串 |
指示消息中存在哪些数据列。通常,这将包含所有表列。 信息注释
当 移动 来自未启用完全补充日志记录的 Oracle 源时,某些列可能不会出现在数据中,因为它们无法 已移动。 列掩码是一个十六进制数字字符串,表示以小端序排列的数据列的位掩码。列掩码中的位位置基于该表的元数据消息中列的序号。 这使得应用器能够区分作为列的实际值的空值,以及表示无法从源数据库中已移动的列的空值。 |
|
外部架构ID |
字符串 |
架构ID。仅当选中包含外部架构ID标头复选框时,才会显示此项。 由于每次对源表执行 DDL 操作时,架构 ID 都会更改,因此消费者应用程序可以使用此信息来确定消息架构是否已更改。 |
|
transactionEventCounter (事务事件计数器) |
Long |
事务中当前操作的序列号。 这可用于确定事务中的操作顺序。 |
|
transactionLastEvent (事务最后事件) |
布尔值 |
“True”表示它是事务中的最终记录,而“False”表示并非所有记录都已处理。 |
|
数据 |
結構 | 表记录的数据 |
|
{列} |
当前记录中的列名和值。 | |
|
之前数据 |
結構 | 表记录变更前的数据 |
|
{列} |
变更前的列名和值。 适用于 UPDATE 操作。 |