什么组件可用于使用 Talend 复制 excel 文件的每一行?

What component can be used to duplicate every row of an excel file using Talend?

如果我有一个 excel 文件,其中包含这样的行:

val1 | val2 | val3 | val4
val5 | val6 | val7 | val8

那么我需要这样的结果:

val1 | val2 | val3 | val4
val1 | val2 | val3 | val4
val5 | val6 | val7 | val8
val5 | val6 | val7 | val8

Talend 可以吗?

编辑:注意行的顺序。我需要他们来维持秩序。

对于纯复制,最简单的方法是使用 tHashInput 来存储来自 Excel 文件的值。

然后您可以从链接的 tHashOutput 读取两次并使用 tUnite 加入流。


如果需要保持顺序,可以在tHashInput前加一个tJavaRow或tMap,增加一个顺序值的列"order"。 然后您可以在 tUnite 之后添加一个 tSortRow 并使用新列进行排序。 最后,您使用 tFilterColumn(或任何其他组件)删除额外的列。

结果:

订单代码:

Numeric.sequence("s1",1,1);

注意:您可能必须将组件 tHashOutput 和 tHashInput 添加到您的调色板,因为默认情况下不包括它们。

将 2 个相同的输入发送到 tUnite 以复制该行。然后将行发送到 tSort 以对它们进行排序。

2个tFlowInput是一样的,换成你的。

在 tJoin 上同步列。 设置要在 tSort

上排序的列

输出:

.---------+----------+----------+----------.
|                tLogRow_1                 |
|=--------+----------+----------+---------=|
|newColumn|newColumn1|newColumn2|newColumn3|
|=--------+----------+----------+---------=|
|val1     |val2      |val3      |val3      |
|val1     |val2      |val3      |val3      |
|val5     |val6      |val7      |val8      |
|val5     |val6      |val7      |val8      |
'---------+----------+----------+----------'