【发布时间】:2017-04-19 13:38:58
【问题描述】:
我正在使用 Talend 对我的数据库中的一些表执行一些 ETL。
我需要在同一张表之间进行 3 次相同的 tMap 操作,但在不同的字段上。
由于查找表很大(1 亿条记录),我想知道是否有某种方法可以只加载一次并为 3 个不同的 tMap 组件使用相同的查找表。
谢谢。
【问题讨论】:
标签: lookup talend lookup-tables tmap
我正在使用 Talend 对我的数据库中的一些表执行一些 ETL。
我需要在同一张表之间进行 3 次相同的 tMap 操作,但在不同的字段上。
由于查找表很大(1 亿条记录),我想知道是否有某种方法可以只加载一次并为 3 个不同的 tMap 组件使用相同的查找表。
谢谢。
【问题讨论】:
标签: lookup talend lookup-tables tmap
您可以读取该表并将其写入tHashOutput 组件并使用tHashInput 从tHashOutput 读取数据。
下面是一个简单的作业设计,
由于我没有任何数据库连接,我使用来自tFixedFlowInput 的一些静态输入。以下是我正在使用的输入数据
tHashOutput_1 组件中。tHashInput 组件读取tHashOutput_1 中可用的相同数据。tMap 组件中,我加入了不同的字段,如下所示使用这种方法,您的问题将得到解决。
注意:如果您无法在调色板中找到tHashOutput 和tHashInput 组件,那么you can follow this steps
【讨论】:
tHashInput 组件的行数不同?
tHashOutput 组件中。那么如果你在tHashInput组件中读取相同的数据,那么行数需要相同。但在您的情况下,tHashInput_1 与 tHashOutput_1 组件的行数相同。而tHashInput_2 与tHashOutput 组件的行数不同。