Pentaho 資料整合中的 Hello World
讓我們建立一個簡單的轉換,將 CSV 轉換為 XML 檔案。
我們的轉型必須做到以下幾點:
- 閱讀 CSV 檔案
- 構建問候訊息
- 將問候語儲存在 XML 檔案中
http://i.stack.imgur.com/8gKrV.jpg
建立轉型:
以下是如何開始轉型:
- 在工作區的左側是 Steps Palette。選擇輸入類別。
- 將 CSV 檔案拖到右側的工作區中。
- 選擇指令碼類別。
- 將 Modified JavaScript Value 圖示拖到工作區。
- 選擇輸出類別。
- 將 XML Output 圖示拖到工作區。
現在通過建立 Hop 來連結 CSV 檔案輸入和 Modified Java Script Value:
- 選擇第一步。
- 按住 Shift 鍵並將圖示拖到第二步。
- 通過相同的過程將 Modified Java Script Value 與 XML Output 連結起來。
配置 CSV 檔案輸入步驟
- 雙擊 CSV 檔案輸入步驟。將顯示該步驟的配置視窗。在這裡,你將指明檔案位置,檔案格式(例如分隔符,機箱字元等)和列後設資料(例如列名,資料型別等)
- 使用更能代表此 Step 功能的步驟更改步驟名稱。在這種情況下,鍵入名稱列表。
- 對於檔名欄位,單擊瀏覽並選擇輸入檔案。
- 單擊獲取欄位以將輸入檔案的列名列表新增到網格中。預設情況下,Step 假定檔案具有標題(選中 Header row present 核取方塊)。
- 網格現在具有檔案列的名稱。6.單擊預覽以確保按預期讀取檔案。將出現一個顯示檔案資料的視窗。單擊“ 確定” 以完成定義步驟 CSV 檔案輸入。
配置修改的 JavaScript 值步驟
-
雙擊 Modified JavaScript Value Step。
-
將出現步驟配置視窗。這與之前的 Step 配置視窗不同,它允許你編寫 JavaScript 程式碼。你將使用它來構建與每個名稱連線的訊息
Hello
。 -
命名這一步問候。
-
配置視窗的主要區域用於編碼。在左側,有一個樹,其中包含一組可用的函式,你可以在程式碼中使用這些函式。特別是,最後兩個分支具有輸入和輸出欄位,可以在程式碼中使用。在此示例中,有兩個欄位:last_name 和 name。編寫以下程式碼:
var msg = 'Hello, ' + name + "!";
-
在底部,你可以鍵入程式碼中建立的任何變數。在這種情況下,你建立了一個名為 msg 的變數。由於需要將此訊息傳送到輸出檔案,因此必須在網格中編寫變數名稱。
-
單擊確定完成配置“修改的 Java 指令碼值”步驟。
-
選擇剛剛配置的步驟。為了檢查新欄位是否會離開此步驟,你現在將看到輸入和輸出欄位。輸入欄位是到達步驟的資料列。輸出欄位是離開步驟的資料列。有些步驟只是簡單地轉換輸入資料。在這種情況下,輸入和輸出欄位通常是相同的。但是,有些步驟會將欄位新增到輸出 - 計算器中。還有其他步驟可以過濾或組合資料,從而導致輸出具有較少的欄位,例如輸入 - 分組。
-
右鍵單擊步驟以顯示上下文選單。
-
選擇顯示輸入欄位。你將看到輸入欄位是 last_name 和 name,它們來自 CSV 檔案輸入步驟。
-
選擇顯示輸出欄位。你將看到,你不僅擁有現有欄位,還擁有新的 msg 欄位。
配置 XML 輸出步驟
-
雙擊 XML 輸出步驟。將出現此類步驟的配置視窗。在這裡,你將設定輸出檔案的名稱和位置,並確定要包含的欄位。你可以包含到達步驟的全部或部分欄位。
-
將步驟檔案命名為: 問候語。
-
在檔案框中寫:
${Internal.Transformation.Filename.Directory}/Hello.xml
-
單擊獲取欄位以使用三個輸入欄位填充網格。
-
再次儲存轉換。
跑
單擊選單欄上的 RUN 按鈕並啟動轉換。
你還可以建立一個 Job,該 Job 可用於安排多個轉換然後執行它。
或者,Pan 允許你從終端視窗執行轉換。指令碼是 Windows 上的 Pan.bat,或其他平臺上的 pan.sh,它位於安裝資料夾中。
Pan /file <Tutorial_folder_path>/Hello.ktr /norep