记录标头属性
记录标头属性是记录标头中的属性,可以根据需要在管道逻辑中使用。
某些阶段会为特定目的创建记录标头属性。例如,启用了 CDC 的源在 sdc.operation.type 记录标头属性中包含 CRUD 操作类型。这使启用了 CRUD 的目标能够确定处理记录时要使用的操作类型。同样,Hive 元数据处理器会生成记录标头属性,某些目标可以将这些属性用作 Hive 的 Drift 同步解决方案的一部分。
其他阶段包括常规使用的记录头属性中与处理相关的信息。例如,事件生成阶段在记录标头属性中包含事件类型,以防您希望基于该信息处理事件。多个源包括诸如每条记录的原始文件名、位置或分区之类的信息。
您可以使用某些处理器来创建或更新记录标头属性。例如,可以使用表达式计算器为基于记录的写入创建属性。
在记录标头中包含属性不需要在管道中使用它们。例如,您可以在非 CDC 管道中使用启用了 CDC 的 Salesforce 源,并忽略自动生成的 CDC 记录标头属性。
将数据写入目标系统时,仅当使用 Google Pub/Sub 发布商目标位置或使用具有 SDC 记录数据格式的其他目标时,记录标头属性才会与记录一起保留。要在使用其他数据格式时保留信息,请使用表达式计算器将信息从记录标头属性复制到记录字段。
使用标头属性
可以使用表达式计算器或任何脚本处理器来创建或更新记录标头属性。例如,MongoDB 目标要求在记录标头属性中指定 CRUD 操作。如果提供数据的源未自动生成该信息,则可以使用表达式计算器或脚本处理器来设置属性值。
记录标头属性是字符串值。可以在任何表达式中使用 record:属性函数在计算中包含属性值。
<span style="color:#333333"><span style="background-color:#eeeeee"><code> ${record:attribute('<attribute name>')}</code></span></span>
例如,以下表达式计算器将目录原点创建的文件和偏移记录标头属性添加到记录中:
内部属性
数据收集器在记录从一个阶段移动到另一个阶段时生成并更新一些只读的内部记录标头属性。可以查看这些属性以调试问题,但只能由数据收集器更新。
内部记录标头属性 | 描述: __________ | 相关功能 |
---|---|---|
舞台创造者 | 创建记录的阶段的 ID。 | 记录:创建者() |
源标识 | 记录的来源。可以包含基于源类型的不同信息。 | 记录:id() |
阶段路径 | 按阶段名称按顺序处理记录的阶段列表。 | 记录:路径() |
跟踪标识 | 记录通过管道的路径,从 sourceId 开始,然后列出处理记录的阶段。 | 不适用 |
上一页跟踪Id | 记 |