kettle系列之一 基礎知識
簡介
pentaho-kettle是一款開源的ETL工具,官方名稱是Pentaho Data Integration,主要是用來做資料庫遷移等,支援面很強大,易學難精。
支援在windows和linux下使用,但是linux下不一定有圖形介面,本來作為伺服器一般都不會有圖形介面的,所以設計工作主要在windows環境下完成。
原始碼使用Java編寫。
弊端:文件比較雜亂,不好搜資料。
基礎環境搭建
前提,版本8.1
有2種搭建方式,推薦第一種
直接在官網下載安裝包,解壓即可用
步驟1,下載JDK1.8及以上,並安裝
步驟2,下載PDI編譯後的安裝包,解壓
也可以下載7.1穩定版本
下載官方原始碼,本地編譯打包
官方開源地址:
編譯過程直接參考官方文件:注意maven要配置pentaho的倉庫
使用maven打包,生產zip資料夾,直接解壓就可以使用
下載MySQL驅動包
mysql-connector-java-5.1.47.tar.gz
解壓後把mysql-connector-java-5.1.47.jar放到PDI的lib目錄下即可
啟動
windows下雙擊spoon.bat即可啟動PDI的圖形介面
資料夾下的samples下面是官方的demo,建議搞懂每一個例子,大部分的需求都是這些官方demo排列組合就可以完成的。
概念
副檔名:
kjb: job,作業
ktr: transformation,轉換
作業可以包裹多個轉換和作業
強烈建議:不要直接執行轉換,用一個作業來包裹轉換,執行作業,以便統一管理。
資源庫:
檔案資源庫,把job/transformation儲存為kjb/ktr結尾的檔案,呼叫的時候傳入路徑和檔名。
資料庫資源庫,預設賬號admin/admin,把job/transformation儲存到資料庫中。
選擇哪一種資源庫,基於需求決定,資料庫容易統一管理,但是沒有版本控制,檔案庫可以使用svn等版本控制工具控制版本。
工具:
PDI解壓之後,有提供以下幾個工具
Spoon,完整的帶圖形介面的設計/執行工具
Pan,用來執行轉換的命令列工具
Kitchen,用來執行作業的命令列工具
Carte,用來開啟一個伺服器,可以遠端呼叫作業或者轉換,基於命令列,主要用於搭建叢集的PDI環境