技術研究
當前位置:首頁>技術研究 >文章
ETL工具介紹

發布日期:2019-07-15        點擊數:3446

ETL工具具有以下優點:

簡化了用戶的操作,特別是源數據結構發生改變后只需在ETL做簡單修改;

支持各種數據源,本次數據目錄上傳涉及從市場監管局Oracle數據庫轉換為MySQL數據庫;

支持各種硬件和軟件平臺;

數據處理組件非常豐富,通用性更強,組件很容易復用;

提供靈活的定制規則,更好的控制數據質量。

Kettle介紹

Kettle概念

Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,綠色無需安裝,數據抽取高效穩定。

Kettle中文名稱叫水壺,該項目的主程序員MATT希望把各種數據放到一個壺里,然后以一種指定的格式流出。

Kettle這個ETL工具集,它允許你管理來自不同數據庫的數據,通過提供一個圖形化的用戶環境來描述你想做什么,而不是你想怎么做。

Kettle中有兩種腳本文件,transformation和job,transformation完成針對數據的基礎轉換,job則完成整個工作流的控制。

Kettle使用及組件介紹

Kettle使

Kettle提供了資源庫方式的方式來整合所有的工作,但是因為資源庫移植不方便,所以我們選擇沒有資源庫;

1)創建一個新的transformation,點擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為EtltestTrans,kettle默認transformation文件保存后后綴名為ktr;

2)創建一個新的job,點擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為EtltestJob,kettle默認job文件保存后后綴名為kjb;

 組件介紹

 

ZA_ZFYRG1({[6I(M5N~7S4J.png

Main Tree菜單列出的是一個transformation中基本的屬性,可以通過各個節點來查看。

DB連接:顯示當前transformation中的數據庫連接,每一個transformation的數據庫連接都需要單獨配置。

Steps:一個transformation中應用到的環節列表。

Hops:一個transformation中應用到的節點連接列表。

]SN4DYWPB)V6N_}JM3OW_@4.png

Core Objects菜單列出的是transformation中可以調用的環節列表,可以通過鼠標拖動的方式對環節進行添加。

Input:輸入環節

Output:輸出環節

Lookup:查詢環節

Transform:轉化環節

Joins:連接環節

Scripting:腳本環節

 

Transformation轉換介紹

?每一個環節可以通過鼠標拖動來將環節添加到主窗口中。

?并可通過shift+鼠標拖動,實現環節之間的連接。

MXA)6Z36JCS(G0J1UC@XZ91.png

轉換常用環節介紹

類別

環節名稱

功能說明

Input

文本文件輸入

從本地文本文件輸入數據

表輸入

從數據庫表中輸入數據

獲取系統信息

讀取系統信息輸入數據

Output

文本文件輸出

將處理結果輸出到文本文件

表輸出

將處理結果輸出到數據庫表

插入/更新

根據處理結果對數據庫表機型插入更新,如果數據庫中不存在相關記錄則插入,否則為更新。會根據查詢條件中字段進行判斷

更新

根據處理結果對數據庫進行更新,若需要更新的數據在數據庫表中無記錄,則會報錯停止

刪除

根據處理結果對數據庫記錄進行刪除,若需要刪除的數據在數據庫表中無記錄,則會報錯停止

Lookup

數據庫查詢

根據設定的查詢條件,對目標表進行查詢,返回需要的結果字段

流查詢

將目標表讀取到內存,通過查詢條件對內存中數據集進行查詢

調用DB存儲過程

調用數據庫存儲過程

Transform

字段選擇

選擇需要的字段,過濾掉不要的字段,也可做數據庫字段對應

過濾記錄

根據條件對記錄進行分類

排序記錄

將數據根據某以條件,進行排序

空操作

無操作

增加常量

增加需要的常量字段

Scripting

Modified Java Script Value

擴展功能,編寫JavaScript腳本,對數據進行相應處理

Mapping

映射(子轉換)

數據映射

Job

Sat Variables

設置環境變量

Get Variables

獲取環境變量

     Job任務介紹

9@@@36GV_S%Q1USP_[$H6HT.png

Main Tree菜單列出的是一個Job中基本的屬性,可以通過各個節點來查看。

DB連接:顯示當前Job中的數據庫連接,每一個Job的數據庫連接都需要單獨配置。

Job entries:一個Job中引用的環節列表

@M~9MMCS2R_BA13TXAL8(W6.png

Job entries菜單列出的是Job中可以調用的環節列表,可以通過鼠標拖動的方式對環節進行添加。

每一個環節可以通過鼠標拖動來將環節添加到主窗口中。

并可通過shift+鼠標拖動,實現環節之間的連接。

常用環節介紹

類別

環節名稱

功能說明

Job entries

START

開始

DUMMY

結束

Transformation

引用Transformation流程

Job

引用Job流程

Shell

調用Shell腳本

SQL

執行sql語句

FTP

通過FTP下載

Table exists

檢查目標表是否存在,返回布爾值

File exists

檢查文件是否存在,返回布爾值

Javascript

執行JavaScript腳本

Create file

創建文件

Delete file

刪除文件

Wait for file

等待文件,文件出現后繼續下一個環節

File Compare

文件比較,返回布爾值

Wait for

等待時間,設定一段時間,kettle流程處于等待狀態

Zip file

壓縮文件為ZIP包

 


地址:貴陽市中山西路97號騰達廣場A棟18樓
總機:0851-85831618 85831628 (傳真轉8008)
Copyright 2006-2021 www.honglinjin.com All rights reserved.
黔ICP備18003547號-1
  貴公網安備52010302000315
97精品全国免费视频