Talend如何在json文件中连接多个表记录

时间:2017-08-23 10:14:38

标签: json merge concatenation talend

在Talend中我想生成一个包含4个表的行的json文件。 首先,我为每个表做了4个json文件,它可以工作,但是如何合并呢?我尝试使用tfilelist迭代,但我不知道如何使用它,即使使用Talend文档。 或者我可以直接将我的4个表行直接放在一个大的json文件中吗?

我的最终json文件必须是这样的:

[
{ records of table 1 }
{ records of table 1 }
...
{ records of table 2 }
{ records of table 2 }
...
{ records of table 3 }
{ records of table 3 }
...
{ records of table 4 }
{ records of table 4 }
...
]

换句话说,每个表的串联以json格式记录

这是我现在的工作(4 json生成好)

Job

我尝试迭代文件以连接他们的json记录,但错误是“尚未定义模式”,我不知道要放入哪个模式....

此致

3 个答案:

答案 0 :(得分:1)

按如下方式安排工作......

enter image description here

和tFileList属性为, enter image description here

和tFileInputDelimited属性为, enter image description here 和tFileOutputDelimited属性为, 请启用附加复选框,如下图所示,

enter image description here

答案 1 :(得分:0)

如果我正确理解要求,则采取以下方法:

创建四个json文件(每个表一个)并将它们保存到globalMap(通过tSetGlobalVar组件或通过java代码)。
完成后,使用tFixedflow组件,创建一行数据。该行应包含globalmap中的四个json对象。

您可以使用tExtractJSONFields(或类似组件)从四个小JSON对象中创建一个大JSON对象。

答案 2 :(得分:0)

你的工作看起来不错。只是添加,在使用tFileList迭代文件时,在tFileJsonInput中使用((String)globalMap.get(“tFileList_1_CURRENT_FILEPATH”))作为文件路径。

希望这有帮助..