上一篇:etl-bigdata
更多信息查看:https://blue-shadow.top
下載,使用Kettle
下載地址: https://sourceforge.net/projects/pentaho/files/Data%20Integration/
必備條件:安裝了Java環(huán)境,并配置了路徑;將從Kettle壓縮包解壓后即可用
打開方式: 針對Windows系統(tǒng),在調(diào)用 Spoon.bat ; 在Linux系統(tǒng)上,調(diào)用 Spoon.sh
Kettle是什么 :Java編寫的開源ETL工具

Hello World
通過制作一個Hello World例子,進行對Kettle的操作流程說明,認識Kettle處理中的整體過程。
- 創(chuàng)建一個Transformation : File --> New --> Transformation
- 使用Generate Rows Step: Design --> Input --> Generate Rows
- 設置Generate Rows Step:左鍵雙擊或右鍵點擊在窗口中選擇Edit;進行命名和設置要輸出的信息

- 使用Dummy Step : Design --> Flow --> Dummy
- 設置Dummy Step :通過Hop連接 Generate Rows Step 和 Dummy Step ; 認識Step的工具欄 ; 預覽查看 ; 查看執(zhí)行信息

- 設置Kettle腳本說明: 右鍵工作區(qū)空白處 -- > New Note
- 設置Kettle腳本信息:菜單Edit --> Settings

- 通過工具欄 : 執(zhí)行、預覽 、調(diào)試、分析
- 通過View窗口 : 查看Kettle工程的結構

說明
以上的操作中主要目的就是為了熟悉Kettle操作界面、演示Kettle主要使用方法、將需要說明的概念可視化的演示。
這里提出4個最重要的概念: Transformation 、 Job 、 Step 、 Hop 。在上面的操作,其實可以隱約的發(fā)現(xiàn)這些關鍵字。
- Transformation : ETL中的主要部分,負責抽取、轉換、加載各階段中對數(shù)據(jù)的操作,轉換中包含一個或多個步驟(Step)。轉換中的步驟通過跳連接
這樣就允許數(shù)據(jù)從一個Step流向另一個Step - Job : 一個作業(yè)由多個作業(yè)項構成,這些作業(yè)項按先后順序依次執(zhí)行,作業(yè)項相當于轉換中的Step。在作業(yè)中也使用跳連接兩個作業(yè)項。
- Step : 在轉換中的基本單元,用于完成不同改的數(shù)據(jù)處理
- Hop : 連接Step或作業(yè)項
作業(yè)是步驟流,轉換是數(shù)據(jù)流。這是作業(yè)和轉換最大的區(qū)別 。
作業(yè)的每一個步驟,必須等到前面的步驟都跑完了,后面的步驟才會執(zhí)行;而轉換會一次性把所有控件全部先啟動(一個控件對應啟動一個線程),然后數(shù)據(jù)流會從第一個控件開始,一條記錄、一條記錄地流向最后的控件
在本次的演示中,使用到的是Transformation轉換,Transformation是通過Hop將Step連接成的實體,而Step和Hop也就描述出數(shù)據(jù)流的路徑。
在Step中進行數(shù)據(jù)創(chuàng)建或轉換,隨后通過Hop的指引流向其他的Step。