流集数据收集器管道概念和设计:记录标头属性

记录标头属性

记录标头属性是记录标头中的属性,可以根据需要在管道逻辑中使用。

某些阶段会为特定目的创建记录标头属性。例如,启用了 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 记录进入当前阶
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JAVASoftEngineer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值