因?yàn)樾鹿镜脑颍玫竭@個(gè)軟件,那么我們就來(lái)看一看它到底是干啥的。
簡(jiǎn)單介紹基本用法Kettle 的幾個(gè)子程序的功能和啟動(dòng)方式轉(zhuǎn)換和作業(yè)保存作業(yè)輸入步驟簡(jiǎn)介轉(zhuǎn)換步驟簡(jiǎn)介- 增加常量 流程步驟簡(jiǎn)介輸出步驟簡(jiǎn)介總結(jié)
kettle是一款用純java編寫的開源的ETL工具,所以要想運(yùn)行它電腦一定要有java環(huán)境(可以在命令行中輸入java -version
查看當(dāng)前電腦java的版本),
下載地址 (支持全平臺(tái),用起來(lái)也是比較方便),直接解壓就能用,親測(cè)不翻墻的話時(shí)快時(shí)慢,所以建議大家在下載的時(shí)候盡量翻墻
何為ETL?
抽取(Extract):一般抽取過(guò)程需要連接到不同的數(shù)據(jù)源,以便為隨后的步驟提供數(shù)據(jù)。這一部分看上去簡(jiǎn)單而瑣碎,實(shí)際上它是 ETL 解決方案的成功實(shí)施的一個(gè)主要障礙。
轉(zhuǎn)換(Transform):任何對(duì)數(shù)據(jù)的處理過(guò)程都是轉(zhuǎn)換。這些處理過(guò)程通常包括(但不限于)下面一些操作:
移動(dòng)數(shù)據(jù) 根據(jù)規(guī)則驗(yàn)證數(shù)據(jù) 數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu)的修改 將多個(gè)數(shù)據(jù)源的數(shù)據(jù)集成 根據(jù)處理后的數(shù)據(jù)計(jì)算派生值和聚集值加載(Load):將數(shù)據(jù)加載到目標(biāo)系統(tǒng)的所有操作。
Spoon.bat: 圖形界面方式啟動(dòng)作業(yè)和轉(zhuǎn)換設(shè)計(jì)器。 Pan.bat: 命令行方式執(zhí)行轉(zhuǎn)換。
Kitchen.bat: 命令行方式執(zhí)行作業(yè)。 Carte.bat: 啟動(dòng)web服務(wù),用于 Kettle 的遠(yuǎn)程運(yùn)行或集群運(yùn)行。 Encr.bat: 密碼加密 (請(qǐng)注意這里各個(gè)文件的名字,很有趣,類似于hadoop中的名字,這也許是屬于國(guó)外程序猿的一種幽默吧)
Kettle 的 Spoon 設(shè)計(jì)器用來(lái)設(shè)計(jì)轉(zhuǎn)換(Transformation)和 作業(yè)(Job)。
轉(zhuǎn)換主要是針對(duì)數(shù)據(jù)的各種處理,一個(gè)轉(zhuǎn)換里可以包含多個(gè)步驟(Step)。 作業(yè)是比轉(zhuǎn)換更高一級(jí)的處理流程,一個(gè)作業(yè)里包括多個(gè)作業(yè)項(xiàng)(Job Entry),一個(gè)作業(yè)項(xiàng)代表了一項(xiàng)工作,轉(zhuǎn)換也是一個(gè)作業(yè)項(xiàng)。操作界面如下
用戶通過(guò) Spoon 創(chuàng)建的轉(zhuǎn)換、作業(yè)、數(shù)據(jù)庫(kù)連接等可 以保存在資源庫(kù)和 xml 文件中。
轉(zhuǎn)換文件以 ktr 為擴(kuò)展名,作業(yè)文件以 kjb 為擴(kuò)展名 資源庫(kù)可以是各種常見的數(shù)據(jù)庫(kù)。可以在 Spoon 中自動(dòng)創(chuàng)建資源庫(kù),資源庫(kù)默認(rèn)用戶名和密碼是admin/admin。輸入類步驟用來(lái)從外部獲取數(shù)據(jù),可以獲取數(shù)據(jù)的數(shù)據(jù)源包括,文本文件(txt,csv,xml,json)數(shù)據(jù)庫(kù)、 Excel 文件等桌面文件,自定義的數(shù)據(jù)等。對(duì)特殊數(shù)據(jù)源和應(yīng)用需求可以自定義輸入插件。
輸入內(nèi)容部分截圖如下:
轉(zhuǎn)換類步驟是對(duì)數(shù)據(jù)進(jìn)行各種形式轉(zhuǎn)換所用到的步驟。
例子: - 字段選擇 (就比如我們我負(fù)責(zé)的現(xiàn)在我們公司的數(shù)據(jù)庫(kù)轉(zhuǎn)移工作,字段選擇很重要) - 計(jì)算器
流程步驟是用來(lái)控制數(shù)據(jù)流的步驟。一般不對(duì)數(shù)據(jù)進(jìn)行操作,只是控制數(shù)據(jù)流。
例子: 過(guò)濾步驟
既然有輸入和過(guò)濾,那么一定也要有輸出了。輸出步驟是輸出數(shù)據(jù)的步驟,常見的輸出包括文本文件輸出、表輸出等,可以根據(jù)應(yīng)用的需求開發(fā)插件以其他形式輸出。
例子: 表輸出等,如下圖
Kettle這個(gè)ETL工具集,它允許你管理來(lái)自不同數(shù)據(jù)庫(kù)的數(shù)據(jù),通過(guò)提供一個(gè)圖形化的用戶環(huán)境來(lái)描述你想做什么,而不是你想怎么做。
Kettle中有兩種腳本文件,transformation和job,transformation完成針對(duì)數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,job則完成整個(gè)工作流的控制。
現(xiàn)在剛剛開始進(jìn)行學(xué)習(xí),所以只掌握了基本的知識(shí),在公司后續(xù)的開發(fā)過(guò)程當(dāng)中,我也會(huì)邊學(xué)習(xí)邊完善,盡快掌握這個(gè)軟件更多的精髓。
新聞熱點(diǎn)
疑難解答
圖片精選