如何使用 Talend 将一 table 的不同列映射到一 table 的一列
How to map different columns of ONE table into ONE column of ONE table using Talend
我有一个 table 有不同的列。这些列属于 Id、x 和 y。我想使用 talend 将这些列映射到 One unique ID,X 和 Y:
我有一个从 MySQL 到 Talend 的数据库连接。我将我的 table 添加为 "MySQLInput"。
table 看起来像:
idN| XN |YN | idT |XT | YT
1 | 2.5 | 4.5 | 2 | 6.9 | 2.7
2 | 6.9 | 2.7 | 7 | 9.9 | 2.1
5 | 4.6 | 6.6 | 9 | 1.3 | 5.5
7 | 3.2 | 7.8 | 6 | 3.2 | 3.1
我想要这个 table 作为使用 talend 映射后的结果:
idU | XU | YU
1 | 2.5 | 4.5
2 | 6.9 | 2.7
5 | 4.6 | 6.6
6 | 3.2 | 3.1
7 | 3.2 | 7.8
7 | 9.9 | 2.1
9 | 1.3 | 5.5
我试着这样做:
但是结果不是我所期望的:
IDU | XU | YU
1 | 2.5 | 4.5
2 | 6.9 | 2.7
5 | 4.6 | 6.6
7 | 3.2 | 7.8
我也试过这样做:
使用那个表达式但是代码给我一个错误。
我也尝试创建自己的例程并在表达式生成器中使用它,但仍然无法正常工作。
有没有人提示如何进行此映射,或使用什么组件。
问题是我不仅有 2 次相同的列,而且在相同的 table 中有 3 次或更多次,我需要将它们全部映射到每个相似变量的最后一个唯一列中。
感谢您花时间阅读本文,非常感谢您的回答:)
这是一个使用 tSplitRow
的简单解决方案:
您需要将每个传入行拆分为 2 行:第一行包含 idN, XN, YN
,第二行包含 idT, XT, YT
列。 tSplitRow 有列 id, X, Y
.
然后使用 tUniqRow
过滤掉重复项,如下所示:
输出:
.--+---+---.
|tLogRow_5 |
|=-+---+--=|
|id|X |Y |
|=-+---+--=|
|1 |2.5|4.5|
|2 |6.9|2.7|
|7 |9.9|2.1|
|5 |4.6|6.6|
|9 |1.3|5.5|
|7 |3.2|7.8|
|6 |3.2|3.1|
'--+---+---'
我有一个 table 有不同的列。这些列属于 Id、x 和 y。我想使用 talend 将这些列映射到 One unique ID,X 和 Y:
我有一个从 MySQL 到 Talend 的数据库连接。我将我的 table 添加为 "MySQLInput"。
table 看起来像:
idN| XN |YN | idT |XT | YT
1 | 2.5 | 4.5 | 2 | 6.9 | 2.7
2 | 6.9 | 2.7 | 7 | 9.9 | 2.1
5 | 4.6 | 6.6 | 9 | 1.3 | 5.5
7 | 3.2 | 7.8 | 6 | 3.2 | 3.1
我想要这个 table 作为使用 talend 映射后的结果:
idU | XU | YU
1 | 2.5 | 4.5
2 | 6.9 | 2.7
5 | 4.6 | 6.6
6 | 3.2 | 3.1
7 | 3.2 | 7.8
7 | 9.9 | 2.1
9 | 1.3 | 5.5
我试着这样做:
但是结果不是我所期望的:
IDU | XU | YU
1 | 2.5 | 4.5
2 | 6.9 | 2.7
5 | 4.6 | 6.6
7 | 3.2 | 7.8
我也试过这样做:
使用那个表达式但是代码给我一个错误。
我也尝试创建自己的例程并在表达式生成器中使用它,但仍然无法正常工作。
有没有人提示如何进行此映射,或使用什么组件。 问题是我不仅有 2 次相同的列,而且在相同的 table 中有 3 次或更多次,我需要将它们全部映射到每个相似变量的最后一个唯一列中。
感谢您花时间阅读本文,非常感谢您的回答:)
这是一个使用 tSplitRow
的简单解决方案:
您需要将每个传入行拆分为 2 行:第一行包含 idN, XN, YN
,第二行包含 idT, XT, YT
列。 tSplitRow 有列 id, X, Y
.
然后使用 tUniqRow
过滤掉重复项,如下所示:
输出:
.--+---+---.
|tLogRow_5 |
|=-+---+--=|
|id|X |Y |
|=-+---+--=|
|1 |2.5|4.5|
|2 |6.9|2.7|
|7 |9.9|2.1|
|5 |4.6|6.6|
|9 |1.3|5.5|
|7 |3.2|7.8|
|6 |3.2|3.1|
'--+---+---'