使用talend BigData将半结构化数据转换为结构化数据

时间:2017-11-24 13:42:43

标签: etl talend

Employee
 Employee Type                          : 0130
 Unit                                   : 4189670095711234
 Basic Salary                           : 11.00
 Joined Date                            : 04/12/yy 06:30:05
 Country                                : 826-United Kingdom

(123.66)                      --- Endof Employee -------------

R 4567 ABCD             -> Len f---- i 01/14

Employee
 Employee Type                          : 0120
 Unit                                   : 4189670095711234
 Basic Salary                           : 11.00
 Joined Date                            : 04/12/yy 06:30:05
 Country                                : 826-United Kingdom

(123.66)-                      --- Endof Employee ------------

R 4567 ABCD             -> Len f---- i 01/14

Employee
 Employee Type                          : 0130
 Unit                                   : 4189670095711235
 Basic Salary                           : 11.00
 Joined Date                            : 04/12/yy 06:30:05
 Country                                : 826-United Kingdom

(123.66)                      --- Endof Employee -------------

您好,

我想使用talend将以下半结构化数据转换为结构化数据。

请让我知道如何将数据转换为结构化表单,以便我可以将其插入到关系表中。

1 个答案:

答案 0 :(得分:2)


这是一个解决方案,感谢tPivotToColumnsDelimited组件。 enter image description here

tFileInputDelimilted与2个字段模式(nammed属性和值)相关联,并且有一个特殊的字段分隔符,它是" :" (空间 - 冒号空间)。
Avanced设置选项"修剪所有列"和"根据模式检查每个行结构"打勾。

tMap是根据"属性"来关联每个输入行的排名。名称: enter image description here 如您所见,序列名称基于属性名称,因此同一员工的每个文件记录将具有相同的等级值。

最后,tPivotToColumnsDelimited在一行上移动所有具有相同等级值的输入记录,最重要的是,值与rigth属性相关联。 enter image description here 设置" Pivot列" as" property"," Aggregation column" as" value","聚合函数" as" first" " Group by" as" rank"。选择所需的输出文件名,最后您将获得所需的结果: enter image description here

希望这会有所帮助。