發表文章

目前顯示的是 11月, 2017的文章

30天學會Data Integration - Kettle系列 第 27 篇 - Entry - Email通知

圖片
  Job的Entry除了先前介紹過的START與Transformation,本篇要繼續的Entry是[Mail]Mail 本篇目標 直接以第22篇的ktr檔來做示範, Step - 取得系統資訊並寫入資料庫 ,當新增與更新資料作業皆完成時寄Email通知自己 新增Job 新增START與Transformation 請建立Hop 設定Transformation 選取第22篇中設計好的Transformation檔案 執行 Job 確認並查看是不是有如期完成任務 加入Mail 新增Mail並建立Hop 設定Mail 這邊的設定是直接輸入值,與上一篇Step的Mail方式設定不同 執行 Job 會收到一封通知信,內容還含有執行的相關訊息 看完這兩篇有沒有對於Job與Transformation又更認識了一點呢,Transformation是針對資料的處理,而Job則是針對整體流程做處理,角色是完全不同的喔!

30天學會Data Integration - Kettle系列 第 26 篇 - Step - Email通知

圖片
  此篇要來介紹Email通知的功能,通常資料轉置是很龐大的,一跑可能就好幾個小時,我們當然也不會傻傻的在那邊等先跑去打混摸魚一下再說XD,所以最希望有自動通知的功能,來告訴我們是否執行完成,結果是成功還是失敗。此篇與下一篇也會藉由Mail稍為介紹一下Entry與Step的不同,因為Mail剛剛好是Entry與Step都有的一種元件。 本篇目標 直接以第22篇的ktr檔來做示範, Step - 取得系統資訊並寫入資料庫 ,每當成功新增一筆資料就寄Email通知自己 新增Step - [Utility]Mail 加入一個Mail Step 下圖可以看到我們可以定義信要寄給誰,以及定義寄件人的資訊 設定Mail Server資訊,能不能發信成功跟這邊有莫大的關係 其它的頁籤可以在另外去做一些信件內容與附件檔案的設定,由於Mail裡面需要使用到許多參數,例如smtp server等資訊,所以要另外新增一個Add constants來定義這些參數,才能提供給Mail Step使用 新增Add constants 加入一個Add constants 加入常數,定義發信要用的參數,這邊我是使用gmail來發信 設定Mail 將Add constants中定義的常數一一設定到欄位中 執行Transformation 收到3筆新增通知囉 以上我們更能觀察中,Step的執行方式是一筆筆的資料來進行處理,所以3筆新增資料就會收到3封Email,如果你今天要轉10萬筆資料,就會收到10萬筆Email,那...應該會傻眼吧XD,所以!如果你只想知道結果而不是過程的話,那就可以改使用Job來進行Email通知,下一篇我們要來介紹如何在Job中使用Email。

30天學會Data Integration - Kettle系列 第 25 篇 - Job動態傳遞參數

圖片
  延續上一篇,此篇將介紹如何動態傳遞參數給Job使用,介紹兩種方式: 1.透過Kettle GUI傳遞參數 2.透過Command Line傳遞參數 1.透過Kettle GUI傳遞參數 開啟範例檔案 開啟 \data-integration\samples\jobs\arguments\Set arguments on a transformation.kjb 從上一篇得知此Job的Transformation Entry是執行Run transformation.ktr檔案,其中有使用到Get System Info Step來得取三個參數,名稱分別為One、Two與Three 執行Job 在Run Options畫面,按下Arguments(legacy)按鈕 會出現01、02與03三個參數,分別對應One、Two與Three,Value的部份我們可以自行輸入任意值,完成後按下OK按鈕,再按下Run按鈕 查看Excel 開啟 \data-integration\samples\transformations\output\arguments-test.xls,在這邊會發現,Excel寫入的值跟我們傳入的參數值不同 請清空Run transformation.ktr Entry的Argument頁籤中的預設參數,如果你今天是想使用靜態參數就可以在這邊設定,但此篇是要以動態的方式給值,所以請按Delete鍵進行預設參數的刪除 再重新執行一次,成功接收參數並寫入Excel檔案囉! 2.透過Command Line傳遞參數 開啟命令提示字元 切換到解壓縮kettle的目錄下,輸入以下指令 kitchen.bat / file :<directory>\<job or transformation name > arg1 arg2 arg3 D: \data-integration>kitchen.bat /file:D: \data-integration\samples\jobs\arguments \Set arguments on a transformation.kjb 111 222 333 執行錯誤,檔案名稱不能有空白 請複製job並更名,以下是將空白改為底線: Set arguments on a tran

30天學會Data Integration - Kettle系列 第 24 篇 - 執行Job

圖片
  本篇直接來解說如何執行與查看執行結果,直接以範例程式來做說明 開啟範例程式 開啟\data-integration\samples\jobs\arguments\Set arguments on a transformation.kjb 觀察Job使用的Entries 設計Job的元件與Transformation的Step不同,設計Job的元件另稱為Entries,以下是Entry的分類 範例Job使用了一個START Entry與一個Transformation Entry [General]START 定義Job執行的起點,每一個Job都要有一個START(只能有一個),這樣Job在行執時才會知道要從此Entry開始,另外START也可設定排程或是重複的執行頻率 [General]Transformation 執行一個指定Transformation檔案,在Job中透過新增多個Transformation Entry就可以執行多個Transformation(.ktr檔案),在這邊我們可以把Job視為Transformation的上一層 Transformation specification tab:可設定要讀取的Transformation檔案 觀察Transformation Entry 開啟Transformation Entry設定,指定要讀取的Transformation檔案:\data-integration\samples\jobs\arguments\Run transformation.ktr Run transformation.ktr包含了Get System Info與Excel Output兩個Steps,這兩個Steps在之前都有介紹過了,想必大家應該都不陌生,看到應該沒有很畏懼的感覺吧XD Get System Info 這裡的Get System Info與先前介紹的 Step - 取得系統資訊並寫入資料庫 使用方式有些許不同,之前我們是用來取得系統的日期,此篇是要從command line來取得參數值,從畫面上我們可以得知,此Transformation會有3個從command line傳遞過來的參數名稱分別為:One、Two與Three Excel Output 此Step之前也介紹過囉!可以參考 Step - 輸出E

30天學會Data Integration - Kettle系列 第 23 篇 - Job的基本操作

圖片
  此篇將介紹Job的基本操作,分成五個部分: 建立Job 儲存Job 開啟Job 觀察View頁籤 設定Job屬性 觀念忘記或不熟的可以參考這篇 Job 與 Transformation 基本觀念 1.建立Job 提供三種操作方式給大家參考: 1.1 在主要工具列上按第一個按鈕,選擇Job 1.2 在View頁籤中,於Job項目上點兩下,或是按滑鼠右鍵,點選New 如果主要編輯區域已經在編輯Job,那此時的View頁籤只看到Job項目 1.3 快捷鍵:Ctrl+Alt+N 2.儲存Job 提供三種操作方式給大家參考,儲存後的是.ktr檔案格式 2.1 主要工具列file選單下的Save 2.2 主要工具列的儲存icon 2.3 快捷鍵:Ctrl+S 3.開啟Job 提供二種操作方式給大家參考: 3.1 主要工具列file選單下的Open 3.2 將ktr檔案直接從資料夾拖曳到次要工具列中放開,在這邊直接開始Kettle中的範例,D:\data-integration\samples\jobs\arguments\Set arguments on a transformation.kjb,以方便下個步驟觀察View頁籤 4.觀察View頁籤 這篇的View頁籤與Transformation相似,差別在於Job不會列出Hops的清單 5.設定Job屬性 開啟設定屬性視窗的方式: 1.在主要編輯區,空白處按右鍵,點選porperties來進行設定 2.在主要編輯區的空白區域點滑鼠左兩下 比較常使用到的是Job頁籤:可設定或查看關於此Job的基本資訊,例如名稱、描述或是修改時間 參考資料: http://wiki.pentaho.com/display/EAI/.10+Job+Settings https://help.pentaho.com/Documentation/7.0/0L0/0Y0/030/040/010