【问题标题】:Single Lookup Table Talend in Multiple tmaps多个 tmap 中的单个查找表 Talend
【发布时间】:2017-04-19 13:38:58
【问题描述】:

我正在使用 Talend 对我的数据库中的一些表执行一些 ETL。

我需要在同一张表之间进行 3 次相同的 tMap 操作,但在不同的字段上。

由于查找表很大(1 亿条记录),我想知道是否有某种方法可以只加载一次并为 3 个不同的 tMap 组件使用相同的查找表。

谢谢。

【问题讨论】:

    标签: lookup talend lookup-tables tmap


    【解决方案1】:

    您可以读取该表并将其写入tHashOutput 组件并使用tHashInputtHashOutput 读取数据。

    下面是一个简单的作业设计,

    由于我没有任何数据库连接,我使用来自tFixedFlowInput 的一些静态输入。以下是我正在使用的输入数据

    • 我将它存储在tHashOutput_1 组件中。
    • 然后我使用三个tHashInput 组件读取tHashOutput_1 中可用的相同数据。
    • tMap 组件中,我加入了不同的字段,如下所示

    使用这种方法,您的问题将得到解决。

    注意:如果您无法在调色板中找到tHashOutputtHashInput 组件,那么you can follow this steps

    【讨论】:

    • 嗨。我尝试了您的解决方案,但似乎不起作用。查找表一个接一个地继续单独加载。 !image
    • 为什么两个tHashInput 组件的行数不同?
    • 行不同是因为它还在运行,实际上行是蓝色的。
    • 没有。我的问题是,您已将数据保存在 tHashOutput 组件中。那么如果你在tHashInput组件中读取相同的数据,那么行数需要相同。但在您的情况下,tHashInput_1tHashOutput_1 组件的行数相同。而tHashInput_2tHashOutput 组件的行数不同。
    • 对不起,我不明白你的意思。 tHashInput_1完成了所有行的加载,即20782613,与tHashOutput完全相同。 tHashInput_2 在标题时仍在加载,因此数字不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多