字段属性

字段属性是根据需要提供有关可在管道逻辑中使用的每个字段的附加信息的属性。

某些阶段会生成字段属性。例如,Salesforce源端在每个字段的salesforce.salesforceType属性中都包含原始Salesforce数据类型。

您可以在管道中创建,修改和评估字段属性。Expression Evaluator可以创建和修改字段级属性。您可以使用字段属性函数来评估字段属性。

例如,您可以使用Expression Evaluator基于记录数据创建字段属性,然后将记录传递到基于属性值路由数据的Stream Selector。

仅当您在目标端中使用SDC RPC数据格式时,字段属性才会自动包含在写入目标系统的记录中。

要将字段属性包括在记录数据中或在计算中使用字段属性,请使用record:fieldAttribute 和record:fieldAttributeOrDefault函数。有关字段属性函数的更多信息,请参见记录函数。

使用数据预览时,可以启用查看字段属性和记录头属性以帮助管道开发。

使用字段属性

像记录头属性一样,您可以使用Expression Evaluator或任何脚本处理器来创建或更新字段属性。例如,在处理Avro数据时,源端会将小数数据的精度和小数位数信息放入字段属性中。如果要在将这些值写入目标系统之前增加这些值,则可以使用Expression Evaluator或任何脚本处理器来设置属性值。

字段属性是字符串值。您还可以record:fieldAttribute在任何表达式中使用函数以在计算中包括属性值。

要点:字段属性没有字段路径。在表达式中使用属性时,在指定关联字段的路径后,仅使用带引号的属性名称即可,如下所示:

 ${record:fieldAttribute(<path to the field>,'<attribute name>')}

例如,假设您正在作为Hive漂移同步解决方案的一部分来处理Avro数据。所有小数字段都包括自动生成的精度和小数位字段属性。在将数据传递到Hive Metadata处理器之前,您要基于现有Cost数据创建一个新的Price小数字段。

以下Expression Evaluator创建“Price”字段,并根据现有“Cost”精度和小数位数定义精度和小数位数字段属性。

字段属性生成阶段

下表列出了生成字段属性以便启用特殊处理的阶段:

阶段 描述
处理Avro数据的源端 为每个十进制字段包括“precision”和“scale”字段属性。
处理XML数据的源端 可以在字段属性中包含字段XPath信息,XML属性和名字空间声明。
Google BigQuery的源端 在字段属性中包括Datetime,Time和Timestamp字段的原始精度。
Salesforce源端 在字段属性中包括数据类型信息。
Salesforce Lookup处理器 在字段属性中包括数据类型信息。
XML Parser 可以在字段属性中包含字段XPath信息,XML属性和名字空间声明。

在数据预览中查看字段属性

与记录头属性一样,您可以使用数据预览在管道中的任何位置查看字段属性。若要查看字段属性,请启用“Show Record/Field Header”数据预览属性。