2017-04-19 65 views
0

我正在使用Talend在我的数据库的某些表上执行一些ETL。多个tmaps中的单个查找表Talend

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

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

谢谢。

回答

3

您可以读取表格并将其写入tHashOutput组件,并使用tHashInput来读取tHashOutput中的数据。

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

enter image description here

因为我没有任何数据库连接,我使用从tFixedFlowInput一些静态输入。下面是我使用

enter image description here

  • 我将其存储在tHashOutput_1组件的输入数据。
  • 然后我正在使用三个tHashInput组件读取tHashOutput_1中的相同数据。
  • tMap成分,我用不同的领域,如下面

enter image description here

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

注意:如果你能不能找到你的调色板tHashOutputtHashInput组件,然后you can follow this steps

+0

嗨。我试过你的解决方案,但它似乎不工作。 查找表继续单独加载一个接一个。 ![image](http://imgur.com/HDzTBqM) –

+0

为什么行计数在两个'tHashInput'组件之间变化? – Viki888

+0

行是不同的,因为它仍在运行,实际上该行是蓝色的。 –