2016-11-16 91 views
-2

我有這種情況,2個文件。Pentaho運行包含列表文件

輸入文件2個字段6行:

1|BANANA ON CAGES  
2|APPLE CHIPS  
3|SPORT CARS  
4|PLANES  
5|HOUSE  
6|BOTTLES 

列表文件2個字段4行

BANANA|FRUIT  
APPLE|FRUIT  
CAR|TRANSPORT  
PLANE|TRANSPORT 

我希望這樣的結果:

輸出文件3個字段6行

1|BANANA ON CAGES|FRUIT  
2|APPLE CHIPS|FRUIT  
3|SPORT CARS|TRANSPORT  
4|PLANES|TRANSPORT  
5|HOUSE  
6|BOTTLES 

我強制要求使用PDI。 加入文件(Cartesian Product)太慢。 輸入文件大約有1,000,000行和大約300,000行的列表文件

+0

笛卡爾產品是解決方案或必須有一些連接條件。 – Nikhil

+0

好的,謝謝,在這裏有什麼辦法來比較輸入文件和連接輸出,比如我的例子,得到相同數量的行嗎?如果條件不匹配,則失去行 –

+0

您需要更多數據。數據中沒有任何內容表明輸入文件中的條目是水果還是傳輸。這種區別必須存在於數據的某處,以便計算機知道哪個是「CAR」!=「運動車」。 –

回答

0

您的列表文件需要動態還是內容合理靜態?

如果是靜態的,您可以嘗試用RegEx替換字符串。喜歡的東西:

enter image description here

設置類別後你只需要過濾類別爲從項目的描述!

不知道如何執行這麼多的記錄。到現在爲止,只用了很少的記錄。

編輯:我剛剛看到Join(笛卡爾)有REGEXP選項。也許它比CONTAINS更快(我認爲你一直在使用它?)。這將是更好的建立。

祝你好運!