




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Kettle 培訓(xùn)手冊一、 Etl 介紹ETL( Extract-Transform-Load 的縮寫,即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的過程),對于 金融 IT 來說,經(jīng)常會遇到大數(shù)據(jù)量的處理,轉(zhuǎn)換,遷移,所以了解并掌握一種 etl 工具的使用,必不可少。Kettle 是一款國外開源的 etl 工具,純 java 編寫,綠色無需安裝,數(shù)據(jù)抽取高 效穩(wěn)定。Kettle 中有兩種腳本文件, transformation 和job ,transformation 完成針 對數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換, job 則完成整個工作流的控制。二、 kettle 部署運行將 kettle2.5.1 文件夾拷貝到本地路徑,例如 D
2、 盤根目錄。 雙擊運行 kettle 文件夾下的 spoon.bat 文件,出現(xiàn) kettle 歡迎界面:稍等幾秒選擇沒有資源庫,打開 kettle 主界面創(chuàng)建 transformation ,job 點擊頁面左上角的創(chuàng)建一個新的 transformation ,點擊保存到本地路 徑,例如保存到 D:/etltest 下,保存文件名為 EtltestTrans , kettle 默認(rèn) transformation 文件保存后后綴名為 ktr點擊頁面左上角的創(chuàng)建一個新的 job ,點擊保存到本地路徑,例如保 存到D:/etltest 下,保存文件名為 EtltestJob ,kettle 默認(rèn)j
3、ob 文件保存后后綴名為 kjb創(chuàng)建數(shù)據(jù)庫連接在 transformation 頁面下,點擊左邊的【 Main Tree 】,雙擊【 DB連接】,進(jìn)行 數(shù)據(jù)庫連接配置。connection name 自命名連接名稱Connection type 選擇需要連接的數(shù)據(jù)庫 Method of access 選擇連接類型Server host name 寫入數(shù)據(jù)庫服務(wù)器的 ip 地址 Database name寫入數(shù)據(jù)庫名Port number 寫入端口號Username寫入用戶名Password寫入密碼 例如如下配置:點擊【 test 】,如果出現(xiàn)如下提示則說明配置成功點擊關(guān)閉,再點擊確定保存數(shù)據(jù)庫
4、連接。一個簡單的 ktr 例子目的: 將一個數(shù)據(jù)庫導(dǎo)入到另一個數(shù)據(jù)庫中。操作步驟:創(chuàng)建一個 transformation ,命名為 etlTestTrans.ktr ,創(chuàng)建數(shù)據(jù)庫連接 ods,點擊【 Input 】,選中【表輸入】,拖到主窗口,釋放鼠標(biāo),雙擊打 開如下圖點擊【 Transform 】,選中【字段選擇】,拖到主窗口,釋放鼠標(biāo)點擊【 Output 】,選中【表輸出】,拖到主窗口,釋放鼠標(biāo) 建立【文本文件輸入】和【字段選擇】與【字段選擇】和【表輸出】的連接雙擊【表輸出】,目標(biāo)表中寫入 ZT_TEST_KETTL,E,確定保存雙擊【字段選擇】,點擊 獲取選擇的字段,再點擊 Edlt M
5、apping ,點擊 OK 確定,編輯所有字段對應(yīng)關(guān)系,點確定。點擊 運行這個轉(zhuǎn)換。,則將上一個 ktr 中生成的文本,導(dǎo)入到數(shù)據(jù)庫當(dāng)中一個簡單的 kjb 例子目的: 將上一個 transformation 在一個 job 里面調(diào)用執(zhí)行。操作步驟:在etlTestJob 頁面,點擊【 Core Objects 】,點擊【 Job entries 】,選中【 START】 拖動到主窗口釋放鼠標(biāo),再選中【 Transformation 】,拖動到主窗口釋放鼠標(biāo), 建立【 START】和【 Transformation 】之間的連接。雙擊【 Transformation 】, 在 Transform
6、ation filename 中寫入 E:kettleWorkspaceetlTestTrans.ktr ,確定保存。點擊 保存創(chuàng)建好的 job點擊 運行這個轉(zhuǎn)換。待所有任務(wù)都顯示成功,則為 job 調(diào)用 transformation 運行成功。一個增量的例子增量更新 按照數(shù)據(jù)種類的不同大概可以分成:1. 只增加,不更新,2. 只更新,不增加3. 即增加也更新4. 有刪除,有增加,有更新 下面針對前三種做一個增量的 ETL抽取。過程如下: 根據(jù)前面講解的例子一樣,首先建立源表( fina_test1 )和目標(biāo)表( fina_test2 ), 整個設(shè)計流程如下 :其中第一個步驟(輸入 - 目標(biāo)表
7、)的 sql 大概如下模式:select ifnull(max(date_seal),1900-01-01 00:00:00) from fina_test2 你會注意到第二個步驟和第一個步驟的連接是黃色的線,這是因為第二個 table input (輸入 -源表)步驟把前面一個步驟的輸出當(dāng)作一個參數(shù)來用,所有 Kettle 用 黃色的線來表示,第二個 table input (輸入 - 源表) 的sql 模式大概如下: SELECT * FROM fina_test1 where date_seal?后面的一個問號就是表示它需要接受一個參數(shù), 你在這個 table input (輸入 -源表
8、) 下面需要指定 replace variable in script 選項和 執(zhí)行每一行 為選中狀態(tài), 這樣, Kettle 就會循環(huán)執(zhí)行這個 sql , 執(zhí)行的次數(shù)為前面參數(shù)步驟傳入的數(shù)據(jù)集的大小。關(guān)于第三個步驟執(zhí)行插入Kettle 執(zhí)行這個步驟是需要兩個數(shù)據(jù)流對比, 其中一個是目標(biāo)數(shù)據(jù)庫, 你在 目標(biāo)表 里面指定的,它放在 用來查詢的關(guān)鍵字左邊 的表字段里面的,另外一個數(shù)據(jù)流就是 你在前一個步驟傳進(jìn)來的,它放在 用來查詢的關(guān)鍵字 的右邊, Kettle 首先用你傳 進(jìn)來的 key 在數(shù)據(jù)庫中查詢這些記錄,如果沒有找到,它就插入一條記錄,所有的 值都跟你原來的值相同, 如果根據(jù)這個 key
9、找到了這條記錄, kettle 會比較這兩條 記錄,根據(jù)你指定 update field 來比較,如果數(shù)據(jù)完全一樣, kettle 就什么都不 做,如果記錄不完全一樣, kettle 就執(zhí)行一個 update 步驟。 備注:主鍵被修改得數(shù)據(jù)認(rèn)為是新記錄刪除的數(shù)據(jù)由在倉庫中需要保留無需考慮job entries 拉然后點擊新建 -job ,然后 job 的核心對象 出組建,進(jìn)行執(zhí)行抽取創(chuàng)建 kettle 資料庫 資源庫是用來保存轉(zhuǎn)換任務(wù)的,用戶通過圖形界面創(chuàng)建的的轉(zhuǎn)換任務(wù)可以保存在資 源庫中。資源庫可以是各種常見的數(shù)據(jù)庫, 用戶通過用戶名 / 密碼來訪問資源庫中的 資源,默認(rèn)的用戶名 / 密碼是
10、 admin/admin資源庫并不是必須的,如果沒有資源庫,用戶還可以把轉(zhuǎn)換任務(wù)保存在 xml 文件 中。如果用戶需要創(chuàng)建一個資源庫,在資源庫的登錄窗口( PDI 啟動時的第一個窗 口)中有 【新建】 按鈕,點擊該按鈕彈出新建資源庫窗口,在該窗口中選擇一個數(shù)據(jù)庫連接,如果沒有事先定義的數(shù)據(jù)庫連接,則還要點 擊【新建】按鈕,來創(chuàng)建一個數(shù)據(jù)庫連接。選擇數(shù)據(jù)庫連接后,要為該資源庫命名, 作為這個資源庫的唯一標(biāo)志,最后選擇【創(chuàng)建或更新】按鈕來創(chuàng)建這個資源庫資源庫可以使多用戶共享轉(zhuǎn)換任務(wù),轉(zhuǎn)換任務(wù)在資源庫中是以文件夾形式分組 管理的,用戶可以自定義文件夾名稱。如何使用 kettle 讀取包含多行表的 E
11、xcel 文件如果 Excel 工作表的表頭只有一行 ,使用 Kettle 讀取這樣的文件是很容易的如果 Excel 工作表的表頭是多行的 , 或者是分級的就需要在內(nèi)容標(biāo)簽下正確設(shè)置列名所占 行數(shù)才可以讀取 .考慮這樣的一個工作表如果想把里面的 12 列數(shù)據(jù)都讀出來 , 就要考慮如何處理多級表頭 步驟設(shè)置的詳細(xì)描述 步驟一 選擇文件名,現(xiàn)在文件或目錄里 到所要添加的 excel 文檔,然后點擊, 確定后,點擊步驟三 設(shè)置要讀取的內(nèi)容的一些屬性 , 這里要設(shè)置表頭的所占行數(shù)是 4 行.步驟四 錯誤處理 , 選擇如果有錯誤終止還是繼續(xù) , 錯誤信息保存的文件等(圖略)步驟五 選擇字段 , 如果前面
12、的三個步驟 ( 不包括錯誤處理步驟 ) 都設(shè)置正確 , 在這個頁面選 擇 獲取字段 字段按鈕 , 就會獲得所有的列名稱和數(shù)據(jù)類型 .這里我們可以看到 : 多級表頭中各級表頭的名稱被疊加起來 , 形成了唯一的列名 .點擊 預(yù)覽 按鈕可以預(yù)覽到數(shù)據(jù)對于表頭跨連續(xù)的多行 , 但不分級的情況也可以使用上述方式處理kettle 注釋:1 、 kettle 的控制流可以設(shè)置一些簡單的時間,并且可以實現(xiàn)隔斷天、周、月(三個只 能選一個,不能選那個月的那周那日),但是 kettle 工具不能關(guān),如果關(guān)了,必須 重新啟動。2 、 kettle 里面缺少一個編輯的字段的插件,導(dǎo)致字段編輯很麻煩,這只能先 sql 中進(jìn) 行手寫,這個對寫 sql 的要求很高。一個 kettle 字段轉(zhuǎn)換(截?。┑睦哟笾碌牧鞒淌牵罕磔斎脒€是正常的 sql 查詢,沒有添加參數(shù)字段轉(zhuǎn)換(截?。┦窃?進(jìn)行修改。具體樣式如下:具體的用法:transform Functions里面包括了字符、數(shù)字的一些函數(shù)方法,這些函數(shù)方法可以解決一些字段需要轉(zhuǎn)化的問題。Input fields
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位工程劃分課件
- 華清宮介紹教學(xué)課件
- 廣南一中初小數(shù)學(xué)試卷
- 健康類課件小腳印
- 2025屆青海省海東市高一物理第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 帶鎖起釘器項目投資可行性研究分析報告(2024-2030版)
- 中國蒜頭破碎機行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 中國無人機戰(zhàn)爭行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 2025年中國淡菜干行業(yè)市場發(fā)展現(xiàn)狀及投資規(guī)劃建議報告
- 中國甘氨膽酸行業(yè)市場調(diào)查報告
- 2023年SQE供應(yīng)商質(zhì)量工程師年度總結(jié)及下年規(guī)劃
- 品牌形象設(shè)計之輔助圖形的操作
- 可用性控制程序
- 福建省泉州市泉州實驗中學(xué)2024屆八上數(shù)學(xué)期末聯(lián)考模擬試題含解析
- 抖音員工號申請在職證明參考模板
- 營養(yǎng)瓊脂培養(yǎng)基適用性驗證
- 食堂委托管理合同標(biāo)準(zhǔn)范本(5篇)
- 千米鉆機操作規(guī)程
- (完整)雙溪課程評量表
- 第四章-康復(fù)心理學(xué)-心理評估
- 中醫(yī)外治技術(shù)排版稿
評論
0/150
提交評論