Kettle公司培訓手冊_第1頁
Kettle公司培訓手冊_第2頁
Kettle公司培訓手冊_第3頁
Kettle公司培訓手冊_第4頁
Kettle公司培訓手冊_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Kettle 培訓手冊一、 Etl 介紹ETL(Extract-Transform-Load的縮寫,即數(shù)據(jù)抽取、轉換、裝載的過程),對于金融IT 來說,經(jīng)常會遇到大數(shù)據(jù)量的處理,轉換,遷移,所以了解并掌握一種etl工具的使用,必不可少。Kettle是一款國外開源的etl工具,純java編寫,綠色無需安裝,數(shù)據(jù)抽取高效穩(wěn)定。Kettle中有兩種腳本文件,transformation和job,transformation完成針對數(shù)據(jù)的基礎轉換,job則完成整個工作流的控制。二、 kettle 部署運行將kettle2.5.1文件夾拷貝到本地路徑,例如D 盤根目錄。雙擊運行kettle文件夾下的sp

2、oon.bat文件,出現(xiàn)kettle歡迎界面:稍等幾秒選擇沒有資源庫,打開kettle主界面創(chuàng)建transformation,job點擊頁面左上角的創(chuàng)建一個新的transformation,點擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為EtltestTrans,kettle默認transformation文件保存后后綴名為ktr點擊頁面左上角的創(chuàng)建一個新的job,點擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為EtltestJob,kettle默認job文件保存后后綴名為kjb創(chuàng)建數(shù)據(jù)庫連接在transformation頁面下,點擊左邊的【Main Tre

3、e】,雙擊【DB連接】,進行數(shù)據(jù)庫連接配置。connection name自命名連接名稱Connection type選擇需要連接的數(shù)據(jù)庫Method of access選擇連接類型Server host name寫入數(shù)據(jù)庫服務器的ip地址Database name寫入數(shù)據(jù)庫名Port number寫入端口號Username寫入用戶名Password寫入密碼例如如下配置:點擊【test】,如果出現(xiàn)如下提示則說明配置成功點擊關閉,再點擊確定保存數(shù)據(jù)庫連接。一個簡單的ktr 例子目的:將一個數(shù)據(jù)庫導入到另一個數(shù)據(jù)庫中。操作步驟:創(chuàng)建一個transformation,命名為etlTestTrans.

4、ktr,創(chuàng)建數(shù)據(jù)庫連接ods,點擊【Input】,選中【表輸入】,拖到主窗口,釋放鼠標,雙擊打開如下圖點擊【Transform】,選中【字段選擇】,拖到主窗口,釋放鼠標點擊【Output】,選中【表輸出】,拖到主窗口,釋放鼠標建立【文本文件輸入】和【字段選擇】與【字段選擇】和【表輸出】的連接雙擊【表輸出】,目標表中寫入ZT_TEST_KETTLE,確定保存雙擊【字段選擇】,點擊 獲取選擇的字段,再點擊Edlt Mapping,點擊OK確定,編輯所有字段對應關系,點確定。點擊運行這個轉換。,則將上一個ktr中生成的文本,導入到數(shù)據(jù)庫當中。一個簡單的kjb例子目的:將上一個transformati

5、on在一個job里面調用執(zhí)行。操作步驟:在etlTestJob頁面,點擊【Core Objects】,點擊【Job entries】,選中【START】拖動到主窗口釋放鼠標,再選中【Transformation】,拖動到主窗口釋放鼠標,建立【START】和【Transformation】之間的連接。雙擊【Transformation 】, 在Transformation filename 中寫入E:kettleWorkspaceetlTestTrans.ktr,確定保存。點擊保存創(chuàng)建好的job。點擊運行這個轉換。待所有任務都顯示成功,則為job調用transformation運行成功。一個增量

6、的例子增量更新按照數(shù)據(jù)種類的不同大概可以分成:1. 只增加,不更新,2. 只更新,不增加3. 即增加也更新4. 有刪除,有增加,有更新下面針對前三種做一個增量的ETL抽取。過程如下:根據(jù)前面講解的例子一樣,首先建立源表(fina_test1)和目標表(fina_test2),整個設計流程如下:其中第一個步驟(輸入-目標表)的sql 大概如下模式:select ifnull(max(date_seal),'1900-01-01 00:00:00') from fina_test2你會注意到第二個步驟和第一個步驟的連接是黃色的線,這是因為第二

7、個table input(輸入-源表)步驟把前面一個步驟的輸出當作一個參數(shù)來用,所有Kettle用黃色的線來表示,第二個table input(輸入-源表) 的sql 模式大概如下:SELECT * FROM fina_test1 where date_seal>?后面的一個問號就是表示它需要接受一個參數(shù),你在這個table input(輸入-源表)下面需要指定replace variable in script 選項和 執(zhí)行每一行 為選中狀態(tài),這樣,Kettle就會循環(huán)執(zhí)行這個sql , 執(zhí)行的次數(shù)為前面參數(shù)步驟傳入的數(shù)據(jù)集的大小。關于第三個步驟執(zhí)行插入/更新步驟需要特別解釋一下,Ke

8、ttle執(zhí)行這個步驟是需要兩個數(shù)據(jù)流對比,其中一個是目標數(shù)據(jù)庫,你在目標表 里面指定的,它放在用來查詢的關鍵字左邊的表字段里面的,另外一個數(shù)據(jù)流就是你在前一個步驟傳進來的,它放在用來查詢的關鍵字 的右邊,Kettle首先用你傳進來的key 在數(shù)據(jù)庫中查詢這些記錄,如果沒有找到,它就插入一條記錄,所有的值都跟你原來的值相同,如果根據(jù)這個key找到了這條記錄,kettle會比較這兩條記錄,根據(jù)你指定update field 來比較,如果數(shù)據(jù)完全一樣,kettle就什么都不做,如果記錄不完全一樣,kettle就執(zhí)行一個update 步驟。備注:主鍵被修改得數(shù)據(jù)認為是新記錄 刪除的數(shù)據(jù)由在倉庫中需要保

9、留無需考慮然后點擊新建-job,然后job的核心對象job entries拉出組建,進行執(zhí)行抽取。創(chuàng)建kettle資料庫資源庫是用來保存轉換任務的,用戶通過圖形界面創(chuàng)建的的轉換任務可以保存在資源庫中。資源庫可以是各種常見的數(shù)據(jù)庫,用戶通過用戶名/密碼來訪問資源庫中的資源,默認的用戶名/密碼是admin/admin資源庫并不是必須的,如果沒有資源庫,用戶還可以把轉換任務保存在 xml 文件中。如果用戶需要創(chuàng)建一個資源庫,在資源庫的登錄窗口(PDI 啟動時的第一個窗口)中有 【新建】 按鈕,點擊該按鈕彈出新建資源庫窗口,在該窗口中選擇一個數(shù)據(jù)庫連接,如果沒有事先定義的數(shù)據(jù)庫連接,則還要點擊【新建】

10、按鈕,來創(chuàng)建一個數(shù)據(jù)庫連接。選擇數(shù)據(jù)庫連接后,要為該資源庫命名,作為這個資源庫的唯一標志,最后選擇【創(chuàng)建或更新】按鈕來創(chuàng)建這個資源庫。資源庫可以使多用戶共享轉換任務,轉換任務在資源庫中是以文件夾形式分組管理的,用戶可以自定義文件夾名稱。如何使用kettle讀取包含多行表的Excel文件如果 Excel 工作表的表頭只有一行,使用 Kettle 讀取這樣的文件是很容易的.如果 Excel 工作表的表頭是多行的, 或者是分級的就需要在內容標簽下正確設置列名所占行數(shù)才可以讀取.考慮這樣的一個工作表如果想把里面的 12列數(shù)據(jù)都讀出來, 就要考慮如何處理多級表頭.步驟設置的詳細描述:步驟一 選擇文件名,

11、現(xiàn)在文件或目錄里到所要添加的excel文檔,然后點擊,確定后,點擊,步驟二 選擇要讀取的工作表名稱和要讀取的內容在工作表里的起始位置, 也就是表頭開始的行號和列號 (這里行號和列號是以 0 開始的)步驟三 設置要讀取的內容的一些屬性, 這里要設置表頭的所占行數(shù)是 4行.步驟四 錯誤處理, 選擇如果有錯誤終止還是繼續(xù), 錯誤信息保存的文件等.(圖略)步驟五 選擇字段, 如果前面的三個步驟(不包括錯誤處理步驟)都設置正確, 在這個頁面選擇 "獲取字段" 字段按鈕, 就會獲得所有的列名稱和數(shù)據(jù)類型.這里我們可以看到: 多級表頭中各級表頭的名稱被疊加起來, 形成了唯一的列名.點擊

12、預覽 按鈕可以預覽到數(shù)據(jù)對于表頭跨連續(xù)的多行, 但不分級的情況也可以使用上述方式處理.kettle注釋:1、 kettle的控制流可以設置一些簡單的時間,并且可以實現(xiàn)隔斷天、周、月(三個只能選一個,不能選那個月的那周那日),但是kettle工具不能關,如果關了,必須重新啟動。2、 kettle里面缺少一個編輯的字段的插件,導致字段編輯很麻煩,這只能先sql中進行手寫,這個對寫sql的要求很高。一個kettle字段轉換(截?。┑睦哟笾碌牧鞒淌牵罕磔斎脒€是正常的sql查詢,沒有添加參數(shù)。字段轉換(截?。┦窃谶M行修改。具體樣式如下:具體的用法:transform Functions 里面包括了字符、數(shù)字的一些函數(shù)方法,這些函數(shù)方法可以解決一些字段需要轉化的問題。Inpu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論