Kettle基本概念學習


一,理解開發環境與生產環境。

比如,在windows或mac下設計好流程之后,把該設計文件上傳到linux集群的機器上執行。那么,在windows下進行的工作即為開發環境,任務具體在linxu機器上執行即為生產環境。

 

二,Kettle轉換

轉換包括一個或多個步驟,步驟之間通過跳(hop)來連接。跳定義了一個單向通道,允許數據從一個步驟流向另一個步驟。在Kettle中,數據的單位是行,數據流就是數據行從一個步驟到另一個步驟的移動。

步驟:是轉換的基本組成部分,以圖標的形式出現。如(表輸入、文本文件輸出)。步驟將數據寫到與之相連的一個或多個輸出跳,再傳送到跳的另一端的步驟。這說明,跳是步驟之間帶箭頭的連線,其實是兩個步驟之間的,被稱為行集(rowset)的,數據行緩存。(行集的大小可以在轉換里定義)

一個步驟的數據發送可以設置為輪流發送和復制發送;輪流發送:將數據行依次發給每一個輸出跳;復制發送:將全部數據行發送給所有輸出跳。(shift + 鼠標左鍵 可以快速地新建一個跳)

在Kettle中,所有的步驟都以並發的方式執行,當轉換啟動后,所有的步驟都同時啟動,從它們的輸入跳中讀取數據,並把處理過的數據寫到輸出跳,直到輸入跳里不再有數據,就中止步驟的運行。當所有的步驟都中止了,整個轉換就中止了。數據行:一個數據行是零到多個字段的集合。

 

三,Kettle作業

作業包括一個或多個作業項,作業項以某種順序來執行。

作業項:與轉換中的步驟類似,作業項也以圖標的方式圖形化展示。作業項之間可以傳遞結果對象(result object)。結果對象里包含了數據行,它們不是以流的方式來傳遞的。而是等一個作業項執行完了,再傳遞給下一個作業項。默認情況下,所有的作業項都是以串行的方式執行的。

作業跳:作業之間的連線稱為作業跳。作業里每個作業項的不同運行結果決定了作業的不同執行路徑。對作業項的運行結果判斷如下:

1,無條件執行:不論上一個作業項執行成功與否,下一個作業項都會執行。標識為,黑色的連線,上面有一個鎖的圖標

2,當運行結果為真時執行:標識為,綠色的連線,上面有一個鈎號

3,當運行結果為假時執行:標識為,紅色的連線,上面有一個紅色的停止圖標

Kettle使用回溯算法來執行所有的作業項。即執行作業中的某條路徑的某個節點時,要依次執行這個節點的所有子路徑,直到沒有再可以執行的子路徑,就返回該節點的上一個節點,再反復該過程。

注意:在作業中定義的跳是控制流,在轉換中定義的跳是數據流。

四,Kettle工具

Spoon:圖形界面工具,快速設計和維護復雜的ETL工作流。

Kitchen:運行作業的命令行工具

Pan:運行轉換的命令行工具

Carte:輕量級的Web服務器,用來遠程執行轉換或作業

 

五,版本命名規則

GA(General Availability)releases:穩定發布版

Release candidates:候選版本  如, ...-RCxx

Milestone releases:最新的里程碑版本,里面都會有一些新功能  如,...-Mxx

Nightly builds:每天的build版本、最新的版本、也是最不穩定的版本

 

 

小結:Spoon是kettle的集成開發環境,也就是說,在Spoon里面設計好作業或者轉換。作業和轉換可以在圖形界面里執行,但是這只是在開發、測試和調試階段。在開發完成后,需要部署到實際運行環境中,在部署階段Spoon就很少用到了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM