运行 为每行 xml 数据动态转换 kettle

run transformation kettle for each row xml data dynamically

我如何动态地从 xml 获取数据步骤中分别获取每个元素,以作为对消息进行解析的其他转换的输入(值节点 xml),我的主要想法是如何 运行 为每一行 xml 数据动态转换 kettle)。

*动态表示元素个数未知

论坛 pentaho 社区中的问题:http://forums.pentaho.com/showthread.php?204226-run-transformation-kettle-for-each-row-xml-data-dynamically&highlight=How+dynamically+can+I+get+each+element+from+get+data+from+xml+step+separately+to+be+an+input+to+other+transformation+which+do+the+parsing+of+message%28value+node+xml%29%2C+my+main+idea+is+how+to+run+transformation+kettle+for+each+row+xml+data+dynamically%29+.++%2Adynamically+means+that+the+number+of+elements+is+unknown

它有点过时,但听起来这就是您要找的东西:

Run Kettle Job for each Row

本质上,您通过转换 (Get data from XML) 从 XML 文件中获取数据并将其流入 Copy rows to result 步骤。然后在您的工作中,添加一个 Transformation 步骤,并在其选项中的高级选项卡上,选中“将以前的结果复制到参数”和“对每个输入行执行”复选框。

您必须为转换步骤设置参数以匹配 XML 数据行的元数据。

请注意,如果您有大量消息 ID 并且每条消息的子数据相对较少,这将非常慢。如果是这种情况,您可能想尝试从第一个转换中的 XML 数据中查找。