定時任務之kettle設計器使用之一(quartz)
今天在寫定時任務job的問題,涉及到了kettle 就是所謂的資料設計器 幫助我們進行資料轉換,資料清洗。
話不多說 簡要上一個教程 教大家使用kettle
我這個是我們公司自己設計的
設計器是一款ETL工具,純java編寫,可以在Windows、Linux、Unix上執行,資料抽取高效、穩定、便捷。龍雲設計器這個ETL工具集,它允許你管理來自不同資料庫的不同資料,通過提供一個圖形化的使用者環境來描述你想做什麼。設計器中有兩種指令碼:transformation和job,transformation完成針對資料的基礎轉換(生成轉換會在目錄下生成一個字尾名為ktr的轉換檔案),job則完成對整個工作流的控制(生成job會在目錄下生成一個字尾名為kjb的作業檔案)。
kettle基本都一樣的
1.1連線資源倉庫步驟:
注:紅體字為設計器部分按鈕,資料庫連線時一定注意填寫資料編碼格式為utf-8,即圖2.0.5操作
1.1.1選擇選單欄 工具 下拉選擇 資源庫 點選右側 連線資源庫 選項(或快捷鍵CTRL+R)看到如下圖2.0.1
圖2.0.1
1.1.2新建一個資源庫連線,點選+號可看到如圖2.0.2,有兩種建立的資源倉庫型別,分別為資料庫型別和檔案型別,本文選擇資料庫型別,開啟如圖2.0.3所示介面,開始新建資料庫連線 點選 新建 彈出資料庫資訊介面圖2.0.4 進行逐項填寫(就是連線資料庫的操作)本文連線的為本機的MySql資料庫
圖2.0.2 圖2.0.3
圖2.0.4
本步驟資料庫連線值得注意的是 防止中文亂碼問題 需手動設定一下統一為utf-8編碼格式 點選 選項 輸入如圖2.0.5所示
圖2.0.5
輸入完畢後點擊 測試 如圖2.0.6,測試連線正常點選 確認 即成功連線資料庫 回到如圖2.0.7填寫資源庫其他資訊
圖2.0.6
圖2.0.7
圖2.0.8
點選建立或更新後顯示如圖2.0.8則表示建立設計庫成功,點選完此對話方塊的確定
圖2.0.9
圖2.1.0
填寫完畢點選確定按鈕看到如圖2.1.0所示即表示連線資源庫成功了
2.1設計設計器基本作業和轉換案例及說明
2.1.1
簡易案例一之新增轉換將Excel檔案的資料插入到資料庫(Transformation):
轉換要求:
a.準備Excel表資料如圖3.0.0所示(Sheet1表)
b.準備資料庫的接收表圖3.0.1所示(本文使用mysql,具體根據你的需求進行選擇性使用)
圖3.0.0
圖3.0.1
轉換步驟a選擇輸入的檔案:
點選如圖2.1.0所示的新增轉換(藍體字)建立新的轉換 開啟左側的核心物件狀態列,雙擊輸入目錄裡的控制元件Excel輸入,可看到控制元件移入右邊的主選單中(也可對控制元件進行拖拽,這樣方便你將控制元件放置在選單中合適的位置上,本文就使用拖拽控制元件)如圖3.0.2所示,雙擊已經移入右邊主選單的Excel輸入控制元件 可編輯此控制元件的屬性資訊如圖3.0.3所示:
圖3.0.2
圖3.0.3
按照圖片提示進行選擇 檔案 選擇工作表(圖3.0.4) 選擇內容(圖3.0.5) 選擇欄位(圖3.0.6)
圖3.0.4
圖3.0.5
圖3.0.6
轉換步驟b:選擇輸出的表
選擇核心物件目錄 輸出 表輸出控制元件拖拽至右側主選單中,雙擊表輸出控制元件編輯其屬性如圖3.0.7所示
圖3.0.7
編輯完主選項後如圖3.0.7所示後,開始編輯資料庫欄位設定如圖3.0.8所示
圖3.0.8
然後我們按住Shift鍵拖拽剪頭從Excel輸入到表輸出,這裡我們就完成了一個簡單轉換 可是遇到問題了,我們的輸入資料中存在重複的資料(圖3.0.9),那麼我們不做處理,輸出也會存在,可是這不是我們想要的最終結果 那我們便要對資料進行一系列處理
圖3.0.9
轉換步驟c:增加資料處理轉換
選擇核心物件目錄 轉換 排序記錄控制元件拖拽至右側主選單編輯其屬性如圖3.1.0
(注:有人提疑問為什麼直接不選擇去除重複記錄控制元件,注意一下 去除重複記錄控制元件的處理前提是相鄰記錄行,所以我們要先對資料排序)
圖3.1.0
完成後點選確定,再選擇去除重複記錄控制元件 編輯其屬性如圖3.1.1
圖3.1.1
編輯結束過後按照順序進行流程連線如圖3.1.2所示
圖3.1.2
再執行轉換前要先儲存哦!到此一個從檔案到庫的轉換成功完成,讓我們看看資料庫test表是否已經是我們需要的資料瞭如圖3.1.3所示
圖3.1.3
2.1.2
簡易案列二之新增轉換將資料庫的資料匯入至檔案中(Transformation)
轉換要求:
a:準備一個輸入表資料如圖3.2.0所示
圖3.2.0
b:準備要接收資料的檔案目錄(不需要建立檔案,只需要路徑即可,系統會自動建立檔案的)我們這裡就確定目錄為下:
\E:\longclound\longcloud-DTDesigner\Folder\file.txt
轉換步驟a:
選擇核心物件 輸入 表輸入控制元件拖拽至右側選單編輯控制元件屬性如圖3.2.1所示
圖3.2.1
編輯完畢 點選確定
轉換步驟b:將蔬菜的單價和數量相乘獲取總價
選擇核心物件 轉換 計算器控制元件編輯如圖3.2.2所示
編輯完點選確定按鈕
再選擇核心物件 輸出 文字檔案輸出控制元件如圖3.2.2所示
圖3.2.2
檔案路徑個副檔名選擇完畢後選擇內容如圖3.2.3所示
圖3.2.3
內容編輯完點選確定選擇欄位按鈕進行編輯如圖3.2.4所示
圖3.2.4
編輯完畢點選確定開始進行流程連線如圖所3.2.5所示,儲存轉換進行除錯執行,
成功後即可看見檔案如圖3.2.6所示
圖3.2.6
那麼到此從庫到檔案的簡單輸出轉換就完成了
簡單轉換案列到此結束
好了 ,陸續後期上難的資料轉換和作業!!!