2012-07-24 172 views
0

我正在使用Pentaho數據集成,我創建了一個新的轉換,我有2個步驟.... 1是我的數據的CSV文件,第二個是Excel文件,兩列一個是是州名和其他排序形式的州名稱,例如(「紐約」「紐約」)Pentaho數據集成映射

在我的CSV文件中我有一個狀態列與狀態名稱「紐約」我想要使用我的excel文件來映射「紐約」與「紐約」

我已經搜索了這一整天沒有明確的答案......任何人都可以幫忙嗎?

+1

它已經有一段時間,因爲我用它,但我敢肯定有一個「看,向上」的步驟,不正是你想要做的事。 – Cfreak 2012-07-24 18:59:33

+0

感謝Cfreak,我會研究它。 – user979331 2012-07-24 19:25:09

+0

您想要的特定聲音就是Stream Lookup。 – 2012-12-21 23:49:02

回答

0

您可以使用值映射器對象。值映射器將字符串值從一個值映射到另一個值。這裏是值映射器對象的幫助鏈接 http://wiki.pentaho.com/display/EAI/Value+Mapper

+0

歡迎來到堆棧溢出!雖然這可能會在理論上回答這個問題,[這將是更可取的](// meta.stackoverflow.com/q/8259)在這裏包括答案的基本部分,並提供參考鏈接。 – Draken 2016-09-08 11:02:41

+0

此處不能使用值映射器。他希望基本上合併到文件中。這就是您查找的原因。 – Nikhil 2016-11-18 14:41:33

0

您可以使用Merge Join。使用這個你可以合併這兩個文件並選擇所需的列。在合併之前,您必須根據用於映射的字段對這些文件進行排序。在你的情況下,它將是state name

0

我建議你使用流查找來完成這個任務。檢查附加的測試轉換。它會完成你的任務。

<?xml version="1.0" encoding="UTF-8"?> 
 
<transformation-steps> 
 
<steps> 
 
    <step> 
 
    <name>EXCEL</name> 
 
    <type>DataGrid</type> 
 
    <description/> 
 
    <distribute>Y</distribute> 
 
    <custom_distribution/> 
 
    <copies>1</copies> 
 
     <partitioning> 
 
      <method>none</method> 
 
      <schema_name/> 
 
      </partitioning> 
 
    <fields> 
 
     <field> 
 
     <name>State</name> 
 
     <type>String</type> 
 
     <format/> 
 
     <currency/> 
 
     <decimal/> 
 
     <group/> 
 
     <length>-1</length> 
 
     <precision>-1</precision> 
 
     <set_empty_string>N</set_empty_string> 
 
     </field> 
 
     <field> 
 
     <name>Short_state</name> 
 
     <type>String</type> 
 
     <format/> 
 
     <currency/> 
 
     <decimal/> 
 
     <group/> 
 
     <length>-1</length> 
 
     <precision>-1</precision> 
 
     <set_empty_string>N</set_empty_string> 
 
     </field> 
 
    </fields> 
 
    <data> 
 
     <line> <item>New York</item><item>TX</item> </line> 
 
     <line> <item>Texas</item><item>TX</item> </line> 
 
    </data> 
 
    <cluster_schema/> 
 
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 
 
     <xloc>392</xloc> 
 
     <yloc>80</yloc> 
 
     <draw>Y</draw> 
 
     </GUI> 
 
    </step> 
 

 
    <step> 
 
    <name>CSV</name> 
 
    <type>DataGrid</type> 
 
    <description/> 
 
    <distribute>Y</distribute> 
 
    <custom_distribution/> 
 
    <copies>1</copies> 
 
     <partitioning> 
 
      <method>none</method> 
 
      <schema_name/> 
 
      </partitioning> 
 
    <fields> 
 
     <field> 
 
     <name>Full_state_name</name> 
 
     <type>String</type> 
 
     <format/> 
 
     <currency/> 
 
     <decimal/> 
 
     <group/> 
 
     <length>-1</length> 
 
     <precision>-1</precision> 
 
     <set_empty_string>N</set_empty_string> 
 
     </field> 
 
    </fields> 
 
    <data> 
 
     <line> <item>New York</item> </line> 
 
     <line> <item>Texas</item> </line> 
 
    </data> 
 
    <cluster_schema/> 
 
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 
 
     <xloc>511</xloc> 
 
     <yloc>169</yloc> 
 
     <draw>Y</draw> 
 
     </GUI> 
 
    </step> 
 

 
    <step> 
 
    <name>Stream lookup</name> 
 
    <type>StreamLookup</type> 
 
    <description/> 
 
    <distribute>Y</distribute> 
 
    <custom_distribution/> 
 
    <copies>1</copies> 
 
     <partitioning> 
 
      <method>none</method> 
 
      <schema_name/> 
 
      </partitioning> 
 
    <from>EXCEL</from> 
 
    <input_sorted>N</input_sorted> 
 
    <preserve_memory>Y</preserve_memory> 
 
    <sorted_list>N</sorted_list> 
 
    <integer_pair>N</integer_pair> 
 
    <lookup> 
 
     <key> 
 
     <name>Full_state_name</name> 
 
     <field>State</field> 
 
     </key> 
 
     <value> 
 
     <name>State</name> 
 
     <rename>State</rename> 
 
     <default/> 
 
     <type>String</type> 
 
     </value> 
 
     <value> 
 
     <name>Short_state</name> 
 
     <rename>Short_state</rename> 
 
     <default/> 
 
     <type>String</type> 
 
     </value> 
 
    </lookup> 
 
    <cluster_schema/> 
 
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 
 
     <xloc>510</xloc> 
 
     <yloc>79</yloc> 
 
     <draw>Y</draw> 
 
     </GUI> 
 
    </step> 
 

 
</steps> 
 
<order> 
 
    <hop> <from>EXCEL</from><to>Stream lookup</to><enabled>Y</enabled> </hop> 
 
    <hop> <from>CSV</from><to>Stream lookup</to><enabled>Y</enabled> </hop> 
 
</order> 
 
<notepads> 
 
</notepads> 
 
<step_error_handling> 
 
</step_error_handling> 
 
</transformation-steps>