Pentaho 資料整合中的 Hello World

讓我們建立一個簡單的轉換,將 CSV 轉換為 XML 檔案。

我們的轉型必須做到以下幾點:

  • 閱讀 CSV 檔案
  • 構建問候訊息
  • 將問候語儲存在 XML 檔案中

http://i.stack.imgur.com/8gKrV.jpg

建立轉型:

以下是如何開始轉型:

  1. 在工作區的左側是 Steps Palette。選擇輸入類別。
  2. 將 CSV 檔案拖到右側的工作區中。
  3. 選擇指令碼類別。
  4. 將 Modified JavaScript Value 圖示拖到工作區。
  5. 選擇輸出類別。
  6. 將 XML Output 圖示拖到工作區。

現在通過建立 Hop 來連結 CSV 檔案輸入和 Modified Java Script Value:

  1. 選擇第一步。
  2. 按住 Shift 鍵並將圖示拖到第二步。
  3. 通過相同的過程將 Modified Java Script Value 與 XML Output 連結起來。

配置 CSV 檔案輸入步驟

  1. 雙擊 CSV 檔案輸入步驟。將顯示該步驟的配置視窗。在這裡,你將指明檔案位置,檔案格式(例如分隔符,機箱字元等)和列後設資料(例如列名,資料型別等)
  2. 使用更能代表此 Step 功能的步驟更改步驟名稱。在這種情況下,鍵入名稱列表。
  3. 對於檔名欄位,單擊瀏覽並選擇輸入檔案。
  4. 單擊獲取欄位以將輸入檔案的列名列表新增到網格中。預設情況下,Step 假定檔案具有標題(選中 Header row present 核取方塊)。
  5. 網格現在具有檔案列的名稱。6.單擊預覽以確保按預期讀取檔案。將出現一個顯示檔案資料的視窗。單擊“ 確定” 以完成定義步驟 CSV 檔案輸入

配置修改的 JavaScript 值步驟

  1. 雙擊 Modified JavaScript Value Step。

  2. 將出現步驟配置視窗。這與之前的 Step 配置視窗不同,它允許你編寫 JavaScript 程式碼。你將使用它來構建與每個名稱連線的訊息 Hello

  3. 命名這一步問候

  4. 配置視窗的主要區域用於編碼。在左側,有一個樹,其中包含一組可用的函式,你可以在程式碼中使用這些函式。特別是,最後兩個分支具有輸入和輸出欄位,可以在程式碼中使用。在此示例中,有兩個欄位:last_name 和 name。編寫以下程式碼:

    var msg = 'Hello, ' + name + "!";
    
  5. 在底部,你可以鍵入程式碼中建立的任何變數。在這種情況下,你建立了一個名為 msg 的變數。由於需要將此訊息傳送到輸出檔案,因此必須在網格中編寫變數名稱。

  6. 單擊確定完成配置“修改的 Java 指令碼值”步驟。

  7. 選擇剛剛配置的步驟。為了檢查新欄位是否會離開此步驟,你現在將看到輸入和輸出欄位。輸入欄位是到達步驟的資料列。輸出欄位是離開步驟的資料列。有些步驟只是簡單地轉換輸入資料。在這種情況下,輸入和輸出欄位通常是相同的。但是,有些步驟會將欄位新增到輸出 - 計算器中。還有其他步驟可以過濾或組合資料,從而導致輸出具有較少的欄位,例如輸入 - 分組。

  8. 右鍵單擊步驟以顯示上下文選單。

  9. 選擇顯示輸入欄位。你將看到輸入欄位是 last_name 和 name,它們來自 CSV 檔案輸入步驟。

  10. 選擇顯示輸出欄位。你將看到,你不僅擁有現有欄位,還擁有新的 msg 欄位。

配置 XML 輸出步驟

  1. 雙擊 XML 輸出步驟。將出現此類步驟的配置視窗。在這裡,你將設定輸出檔案的名稱和位置,並確定要包含的欄位。你可以包含到達步驟的全部或部分欄位。

  2. 將步驟檔案命名為: 問候語

  3. 在檔案框中寫:

    ${Internal.Transformation.Filename.Directory}/Hello.xml
    
  4. 單擊獲取欄位以使用三個輸入欄位填充網格。

  5. 再次儲存轉換。

單擊選單欄上的 RUN 按鈕並啟動轉換。

你還可以建立一個 Job,該 Job 可用於安排多個轉換然後執行它。

或者,Pan 允許你從終端視窗執行轉換。指令碼是 Windows 上的 Pan.bat,或其他平臺上的 pan.sh,它位於安裝資料夾中。

Pan /file <Tutorial_folder_path>/Hello.ktr /norep