Kettle01:Kettle入門

1.kettle簡介

kettle簡介

ETL(Extract-Transform-Load的縮寫,即數(shù)據(jù)抽取毒租、轉(zhuǎn)換悴侵、裝載的過程),對(duì)于企業(yè)或行業(yè)應(yīng)用來說肖揣,我們經(jīng)常會(huì)遇到各種數(shù)據(jù)的處理民假,轉(zhuǎn)換,遷移许饿,所以了解并掌握一種etl工具的使用阳欲,必不可少,這里我要學(xué)習(xí)的ETL工具是Kettle陋率!

Kettle是一款國外開源的ETL工具玫坛,純java編寫附帽,可以在Window斥废、Linux修己、Unix上運(yùn)行,綠色無需安裝菩浙,數(shù)據(jù)抽取高效穩(wěn)定巢掺。
Kettle 中文名稱叫水壺,該項(xiàng)目的主程序員MATT 希望把各種數(shù)據(jù)放到一個(gè)壺里劲蜻,然后以一種指定的格式流出陆淀。
Kettle這個(gè)ETL工具集,它允許你管理來自不同數(shù)據(jù)庫的數(shù)據(jù)先嬉,通過提供一個(gè)圖形化的用戶環(huán)境來描述你想做什么轧苫,而不是你想怎么做。
Kettle中有兩種腳本文件疫蔓,transformation和job含懊,transformation完成針對(duì)數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換身冬,job則完成整個(gè)工作流的控制。
Kettle(現(xiàn)在已經(jīng)更名為PDI岔乔,Pentaho Data Integration-Pentaho數(shù)據(jù)集成)酥筝。

Kettle在數(shù)倉的使用場景如下圖所示:


kettle的結(jié)構(gòu)
Kettle的結(jié)構(gòu)-Spoon和Data Integration Server

Spoon是構(gòu)建ETL Jobs和Transformations的工具。Spoon以拖拽的方式圖形化設(shè)計(jì)雏门,能夠通過spoon調(diào)用專用的數(shù)據(jù)集成引擎或者集群嘿歌。
Data Integration Server是一個(gè)專用的ETL Server,它的主要功能有:


Kettle的結(jié)構(gòu)-Enterprise Console

Enterprise Console(企業(yè)控制臺(tái))提供了一個(gè)小型的客戶端茁影,用于管理Pentaho Data
Integration企業(yè)版的部署搅幅。
包括企業(yè)版本的證書管理、監(jiān)控和控制遠(yuǎn)程Pentaho Data Integration服務(wù)器上的活動(dòng)呼胚、分析已登記的作業(yè)和轉(zhuǎn)換的動(dòng)態(tài)績效。

kettle的組成部分
kettle模型概念

Kettle的執(zhí)行分為兩個(gè)層次:Job(作業(yè))和Transformation(轉(zhuǎn)換)息裸。

簡介總結(jié)

1.ETL是數(shù)據(jù)抽取蝇更、轉(zhuǎn)換、加載呼盆。
2.Spoon是圖形界面接口年扩。
3.Kettle包含job和transformation兩種腳本。

2.Kettle下載

下載網(wǎng)址:https://community.hitachivantara.com/docs/DOC-1009855


Kettle目錄文件

3.Kettle部署

安裝JDK

由于Kettle是Java語言開發(fā)的访圃,該軟件的允許需要Java運(yùn)行環(huán)境的依賴厨幻。
需要先安裝JDK,準(zhǔn)備好Java軟件的運(yùn)行環(huán)境。


配置環(huán)境變量

JAVA_HOME:JDK的安裝目錄

KETTLE_HOME:kettle的解壓目錄



運(yùn)行

4.Kettle界面簡介

工具欄
工具圖標(biāo)
樹形列表
工作區(qū)

5.Kettle快速體驗(yàn)

把數(shù)據(jù)從CSV文件復(fù)制到Excel文件

分析
轉(zhuǎn)換控件
CSV文件輸入
Excel輸出
轉(zhuǎn)換文件
運(yùn)行

6.執(zhí)行結(jié)果

日志
步驟度量
Metrics
Preview data

7.Kettle核心概念

可視化編程
轉(zhuǎn)換
步驟

數(shù)據(jù)行
并行

可視化編程

Kettle可以被歸類為可視化編程語言(Visula Programming Languages,VPL),因?yàn)镵ettle可以使用圖形化的方式定義復(fù)雜的ETL程序和工作流腿时。

Kettle里的圖就是轉(zhuǎn)換和作業(yè)况脆。

可視化編程一直是Kettle里的核心概念,它可以讓你快速構(gòu)建復(fù)雜的ETL作業(yè)和減低維護(hù)工作量批糟。它通過隱藏很多技術(shù)細(xì)節(jié)格了,使IT領(lǐng)域更貼近于商務(wù)領(lǐng)域。

轉(zhuǎn)換


轉(zhuǎn)換(transaformation)是ETL解決方案中最主要的部分徽鼎,它處理抽取盛末、轉(zhuǎn)換、加載各種對(duì)數(shù)據(jù)行的操作否淤。
轉(zhuǎn)換包含一個(gè)或多個(gè)步驟(step)悄但,如讀取文件、過濾數(shù)據(jù)行石抡、數(shù)據(jù)清洗或?qū)?shù)據(jù)加載到數(shù)據(jù)庫檐嚣。
轉(zhuǎn)換里的步驟通過跳(hop)來連接,跳定義一個(gè)單向通道汁雷,允許數(shù)據(jù)從一個(gè)步驟向另一個(gè)步驟流動(dòng)净嘀。
在Kettle里报咳,數(shù)據(jù)的單位是行,數(shù)據(jù)流就是數(shù)據(jù)行從一個(gè)步驟到另一個(gè)步驟的移動(dòng)挖藏。
數(shù)據(jù)流有的時(shí)候也被稱之為記錄流暑刃。

Step步驟

步驟(控件)是轉(zhuǎn)換里的基本的組成部分。



快速入門的案例中就存在兩個(gè)步驟膜眠,“CSV文件輸入”和“Excel輸出”岩臣。

一個(gè)步驟有如下幾個(gè)關(guān)鍵特性:
①步驟需要有一個(gè)名字,這個(gè)名字在轉(zhuǎn)換范圍內(nèi)唯一宵膨。
②每個(gè)步驟都會(huì)讀架谎、寫數(shù)據(jù)行(唯一例外是“生成記錄”步驟,該步驟只寫數(shù)據(jù))辟躏。
③步驟將數(shù)據(jù)寫到與之相連的一個(gè)或多個(gè)輸出跳谷扣,再傳送到跳的另一端的步驟。
④大多數(shù)的步驟都可以有多個(gè)輸出跳捎琐。一個(gè)步驟的數(shù)據(jù)發(fā)送可以被被設(shè)置為分發(fā)和復(fù)制会涎,分發(fā)是目標(biāo)步驟輪流接收記錄,復(fù)制是所有的記錄被同時(shí)發(fā)送到所有的目標(biāo)步驟瑞凑。
分發(fā):



復(fù)制:


Hop跳

跳就是步驟之間帶箭頭的連線末秃,跳定義了步驟之間的數(shù)據(jù)通路。

跳實(shí)際上是兩個(gè)步驟之間的被稱之為行集的數(shù)據(jù)行緩存(行集的大小可以在轉(zhuǎn)換的設(shè)置里定義)籽御。

當(dāng)行集滿了练慕,向行集寫數(shù)據(jù)的步驟將停止寫入,直到行集里又有了空間技掏。

當(dāng)行集空了铃将,從行集讀取數(shù)據(jù)的步驟停止讀取,直到行集里又有可讀的數(shù)據(jù)行哑梳。


數(shù)據(jù)行-數(shù)據(jù)類型

數(shù)據(jù)以數(shù)據(jù)行的形式沿著步驟移動(dòng)麸塞。一個(gè)數(shù)據(jù)行是零到多個(gè)字段的集合,字段包含下面幾種數(shù)據(jù)類型涧衙。
①String:字符類型數(shù)據(jù)
②Number:雙精度浮點(diǎn)數(shù)哪工。
③Integer:帶符號(hào)長整型(64位)。
④BigNumber:任意精度數(shù)據(jù)弧哎。
⑤Date:帶毫秒精度的日期時(shí)間值雁比。
⑥Boolean:取值為true和false的布爾值。
⑦Binary:二進(jìn)制字段可以包含圖像撤嫩、聲音偎捎、視頻及其他類型的二進(jìn)制數(shù)據(jù)。


數(shù)據(jù)行-元數(shù)據(jù)

每個(gè)步驟在輸出數(shù)據(jù)行時(shí)都有對(duì)字段的描述,這種描述就是數(shù)據(jù)行的元數(shù)據(jù)茴她。
通常包含下面一些信息寻拂。
①名稱:行里的字段名應(yīng)用是唯一的。
②數(shù)據(jù)類型:字段的數(shù)據(jù)類型丈牢。
③格式:數(shù)據(jù)顯示的方式祭钉,如Integer的#、0.00己沛。
④長度:字符串的長度或者BigNumber類型的長度慌核。
⑤精度:BigNumber數(shù)據(jù)類型的十進(jìn)制精度。
⑥貨幣符號(hào):¥
⑦小數(shù)點(diǎn)符號(hào):十進(jìn)制數(shù)據(jù)的小數(shù)點(diǎn)格式申尼。不同文化背景下小數(shù)點(diǎn)符號(hào)是不同的垮卓,一般是點(diǎn)(.)或逗號(hào)(,)师幕。
⑧分組符號(hào):數(shù)值類型數(shù)據(jù)的分組符號(hào)粟按,不同文化背景下數(shù)字里的分組符號(hào)也是不同的,一般是點(diǎn)(.)或逗號(hào)(霹粥,)或單引號(hào)(’)


并行

跳的這種基于行集緩存的規(guī)則允許每個(gè)步驟都是由一個(gè)獨(dú)立的線程運(yùn)行钾怔,這樣并發(fā)程度最高。這一規(guī)則也允許數(shù)據(jù)以最小消耗內(nèi)存的數(shù)據(jù)流的方式來處理蒙挑。在數(shù)據(jù)倉庫里,我們經(jīng)常要處理大量數(shù)據(jù)愚臀,所以這種并發(fā)低消耗內(nèi)存的方式也是ETL工具的核心需求忆蚀。

對(duì)于kettle的轉(zhuǎn)換,不可能定義一個(gè)執(zhí)行順序姑裂,因?yàn)樗胁襟E都以并發(fā)方式執(zhí)行:當(dāng)轉(zhuǎn)換啟動(dòng)后馋袜,所有步驟都同時(shí)啟動(dòng),從它們的輸入跳中讀取數(shù)據(jù)舶斧,并把處理過的數(shù)據(jù)寫到輸入跳欣鳖,直到輸入跳里不再有數(shù)據(jù),就中止步驟的運(yùn)行茴厉。當(dāng)所有的步驟都中止了泽台,整個(gè)轉(zhuǎn)換就中止了。 (要與數(shù)據(jù)流向區(qū)分開)

如果你想要一個(gè)任務(wù)沿著指定的順序執(zhí)行矾缓,那么就要使用后面所講的“作業(yè)”怀酷!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市嗜闻,隨后出現(xiàn)的幾起案子蜕依,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件样眠,死亡現(xiàn)場離奇詭異友瘤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)檐束,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門辫秧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厢塘,你說我怎么就攤上這事茶没。” “怎么了晚碾?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵抓半,是天一觀的道長。 經(jīng)常有香客問我格嘁,道長笛求,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任糕簿,我火速辦了婚禮探入,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘懂诗。我一直安慰自己蜂嗽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布殃恒。 她就那樣靜靜地躺著植旧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪离唐。 梳的紋絲不亂的頭發(fā)上病附,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音亥鬓,去河邊找鬼完沪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛嵌戈,可吹牛的內(nèi)容都是我干的覆积。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼熟呛,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼技健!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起惰拱,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤雌贱,失蹤者是張志新(化名)和其女友劉穎啊送,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體欣孤,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡馋没,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了降传。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篷朵。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖婆排,靈堂內(nèi)的尸體忽然破棺而出声旺,到底是詐尸還是另有隱情,我是刑警寧澤段只,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布腮猖,位于F島的核電站,受9級(jí)特大地震影響赞枕,放射性物質(zhì)發(fā)生泄漏澈缺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一炕婶、第九天 我趴在偏房一處隱蔽的房頂上張望姐赡。 院中可真熱鬧,春花似錦柠掂、人聲如沸项滑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枪狂。三九已至,卻和暖如春肩狂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背姥饰。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工傻谁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人列粪。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓审磁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親岂座。 傳聞我的和親對(duì)象是個(gè)殘疾皇子态蒂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Kettle — 使用手冊(cè) 介紹 ETL是EXTRACT(抽取)费什、TRANSFORM(轉(zhuǎn)換)钾恢、LOAD(加載)的簡...
    A剪子包袱錘閱讀 471評(píng)論 0 0
  • 最近因?yàn)轫?xiàng)目需要開始接觸kettle,之前也用過一些其他etl工具,所以不覺得入門有多難瘩蚪,有需求泉懦,就動(dòng)手,下載安裝...
    蝸牛你飛啊閱讀 640評(píng)論 0 2
  • 前面我們介紹了 Kettle的Spoon的轉(zhuǎn)換和作業(yè)定時(shí)任務(wù)GUI設(shè)計(jì)方式以及運(yùn)行疹瘦,但是在實(shí)際應(yīng)用中崩哩,我們需要計(jì)劃...
    開心跳蚤閱讀 44,159評(píng)論 2 15
  • 數(shù)據(jù)整合是吧在不同數(shù)據(jù)源的數(shù)據(jù)收集邓嘹、整理、清洗险胰、轉(zhuǎn)換(有點(diǎn)像ETL)后汹押,加載到一個(gè)新的數(shù)據(jù)源,為數(shù)據(jù)使用者提供統(tǒng)一...
    開心跳蚤閱讀 11,318評(píng)論 0 23
  • Kettle入門系列之一 (簡單介紹) kettle 鸯乃,中文字面意思鲸阻,壺,水壺的意思 介紹kettle是一種ET...
    莫客991閱讀 514評(píng)論 0 0