Kettle 是一個基于 Java 的開源數據集成平臺,支持數據抽取、轉換和加載(ETL)過程。企業版和開發版(社區版)都有,下載安裝后解壓即可。
這次給大家介紹一個企業數據倉庫中常用的開源 ETL 工具:Kettle。
Kettle 又名 Pentaho Data Integration,它是基于 Java 的開源數據集成平臺,提供了圖形化拖拽的方式設計數據抽取、轉換和加載(ETL)過程。
Kettle 通常用于數據倉庫、數據遷移、數據同步等應用場景,幫助用戶從各種數據源中抽取數據,進行清洗和轉換,然后加載到目標數據倉庫或數據集市,支持后續的數據分析和機器學習。
下載安裝
Pentaho Data Integration 提供了企業版和開發版(社區版),我們使用開發版。
方法一
百度網盤:https://pan.baidu.com/s/1SS4PQj8JQykKUJpEYE1xWA?pwd=2bm1
下載后直接解壓 pdi-ce-10.2.0.0-222.zip 文件即可。
方法二
打開官方網站下載地址:https://pentaho.com/pentaho-developer-edition/
輸入相關信息之后點擊“DownloadNow”按鈕,可能出現以下錯誤信息:
Could not verify the reCaptcha response.
這是因為它使用了 Google 的 reCaptcha 驗證碼服務,國內無法訪問。解決辦法就是安裝一個瀏覽器插件 Gooreplacer,然后增加一個重定向配置規則。
匹配模式:www.google.com/recaptcha
目標地址:recaptcha.net/recaptcha
然后刷新下載頁面,通過人機身份驗證,同意使用協議后可以看到一個下載列表:
選擇客戶端工具 pdi-ce-xxx.zip 進行下載,下載后直接解壓 zip 文件即可。
簡單使用
Kettle 基于 Java 開發,支持 Windows、Linux 以及 macOS 多種操作系統,我們需要提前安裝 Java 運行環境,在命令行中輸入“java -version”驗證安裝版本:
PS C:\Users\bell-> java -version
java version "22.0.2" 2024-07-16
Java(TM) SE Runtime Environment (build 22.0.2+9-70)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.2+9-70, mixed mode, sharing)
Kettle 安裝包中提供了多個組件,其中主要的 4 個組件如下:
SPOON(Spoon.bat 或者 spoon.sh),提供圖形界面來設計 ETL 任務,最常使用。
KITCHEN(Kitchen.bat 或者 kitchen.sh),通過命令行方式調用 SPOON 設計的作業(Job);
PAN(Pan.bat 或者 pan.sh),通過命令行方式調用 SPOON 設計的轉換(Transformation);
CARTE(Carte.bat 或者 carte.sh),一個 Web 服務,用于遠程執行 ETL 任務。
下面我們介紹一個 SPOON 使用案例,讀取數據庫中的表,寫入 Excel 文件。
首先,點擊 Spoon.bat(Windows)或者 spoon.sh(Linux)或者 spoon.command(macOS)腳本運行 SPOON:
默認打開的是歡迎頁面。
Kettle 工作流中的對象可以分為兩類:轉換(Transformation)和作業(Job)。
轉換用于定義各種數據處理操作,可以包含多個步驟(Step),這些步驟通過跳躍(Hop)的方式連接,共同完成對數據的輸入、轉換處理和輸出等工作。
轉換以并行方式執行,所有步驟同時啟動,從輸入跳中讀取數據行,然后把處理過的數據寫到輸出跳;直到輸入跳里不再有數據流,步驟的運行才會終止。當所有的步驟都終止了,整個轉換也就完成了。
作業用于定義一個完成整個工作流的控制,可以包含多個作業項(Job Entry),作業項可以是轉換、郵件發送、數據庫連接等操作。這些作業項以某種順序執行,共同完成一個復雜的任務。
作業以串行方式執行,作業項的執行順序由作業項之間的跳躍和每個作業項的執行結果來決定。作業項之間不是通過數據流來傳遞數據,而是通過結果對象(Result Object)來傳遞。這個結果對象包含了數據行等信息,但不是以數據流的方式傳遞的,而是等待一個作業項執行完了,再傳遞給下一個作業項。
我們點擊“文件”->“新建”-“轉換”,新建一個轉換。
然后在左側“核心對象”中點擊“輸入”列表中的“表輸入”對象,拖拽到頁面中間。
為了讀取數據庫中的表,我們需要建立一個數據庫連接。點擊“文件”->“新建”->“數據庫”,打開數據庫配置頁面。
選擇數據庫類型和連接方式,輸入主機名稱、數據庫名稱、端口號、用戶名以及密碼,點擊“測試”按鈕確認能夠成功連接數據庫。
如果提示找不到數據庫驅動(Driver class xxx could not be found),需要下載對應數據庫的 JDBC 驅動,存儲到 Kettle 安裝目錄下的 lib 子目錄中。
創建數據庫連接對象之后,雙擊“表輸入”對象,選擇“數據庫連接”,手動輸入 SQL 查詢或者通過“獲取SQL查詢語句”按鈕生成查詢。
此時,點擊“預覽”可以查看讀取的數據示例。
點擊“確認”按鈕保存設置。
接下來在左側“核心對象”中點擊“輸出”列表中的“Microsoft Excel writer”對象,拖拽到頁面中間。然后將鼠標放在“表輸入”對象上,在頁面會顯示一些針對這個對象的操作,其中有一個向右的箭頭,點擊可以將其連接到“Microsoft Excel writer”對象,也就是建立兩個步驟之間的跳躍。
雙擊“Microsoft Excel writer”對象進行文件配置,輸入包含路徑的文件名和擴展名。
也可以根據需要設置其他內容,包容文件名增加日期時間信息、設置工作表(Worksheet)、使用模板文件以及字段格式等內容。點擊“確認”按鈕保存設置。
點擊“F9”或者“運行”按鈕執行這個轉換操作,頁面下方的日志顯示了執行信息,Preview data 可以預覽每個步驟輸出的數據。
執行完成之后,打開輸出的 Excel 文件可以看到導出的數據。
至此,我們完成了一個簡單的轉換,從數據庫中讀取數據并寫入 Excel 文件。
后續我們再分享更多案例。
原諒來源:https://mp.weixin.qq.com/s/gBgcOkZSCKQvubfA-Y67nA
來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利
蘇公網安備32010402000125
蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司
南京思必達教育科技有限公司版權所有 百度統計