如果我有一个包含这样行的 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 可以做到这一点吗?
编辑:注意行的顺序。我需要他们维持秩序。
如果我有一个包含这样行的 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 |
'---------+----------+----------+----------'