一種ETL工具,ETL,是英文Extract-Transform-Load的縮寫,用來描述將數據歷來源端通過抽取(extract)、轉換(transform)、加載(load)至目的端的過程。java
常見的ETL工具備datastage、informatica、kettle、ODI、Cognos等數據庫
Kettle是一款國外開源的ETL工具,純java編寫,能夠在Windows、Linux、Unix上運行,數據抽取高效穩定。按項目負責人Matt的說法:就是把各類數據放到一個壺裏,而後呢,以一種你但願的格式流出。windows
綠色安裝,解壓便可工具
經常使用版本:4.1.0,(體積小,易於部署) ,目前最新版本8.2spa
操做系統:windows,Linux,Unix等操作系統
JDK:1.6以上命令行
打開個人電腦--屬性--高級--環境變量設計
新建系統變量JAVA_HOME和CLASSPATH3d
變量名:JAVA_HOME日誌
變量值:D:\Program Files\Java\jdk1.8.0_192 (具體路徑以本身本機安裝目錄爲準)
變量名:CLASSPATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
添加到Path變量
變量名:Path
變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
確認JDK環境變量是否成功
轉換:主要組成部分,完成數據的抽取,轉換,裝載
做業:定時執行轉換
Spoon:圖形界面工具,快速設計,維護ETL工做流,Spoon.bat,主要使用此工具
Kitchen:運行做業的命令行工具,Kitchen.bat
Pan:運行轉換的命令行工具,Pan.bat
Carte:遠程執行轉換或做業,Carte.bat
打開Spoon.bat
出現閃退狀況時,請查看一下JAVA環境變量配置,JAVA版本是否正確
長時間無反應時,調整一下虛擬機內存分配
編輯Spoon.bat,如下內容
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xmx512m" "-XX:MaxPermSize=256m"
(-Xms :表示java虛擬機堆區內存初始內存分配的大小
-Xmx: 表示java虛擬機堆區內存可被分配的最大上限
-XX:PermSize:表示非堆區初始內存分配大小
-XX:MaxPermSize:表示對非堆區分配的內存的最大上限)
第一次打開時,默認鏈接資源庫,關閉便可,
資源庫一般用於須要成員之間分工合做的大型的項目 ,
項目較小時,轉換文件存儲在本地便可。
文件-新建-轉換,快捷鍵CTL+N
創建兩個系統數據庫的鏈接方式
設置字符集,數據庫鏈接-選項
新增添加參數characterEncoding,設置值爲UTF8
本地數據輸入,數據庫鏈接選擇本地數據庫,編寫完成的SQL語句添加至此
插入對方數據庫表,注意選擇忽略插入錯誤選項
上傳數據出錯時,將錯誤記錄寫入本地EXCEL,(也能夠其餘形式,好比數據庫表) 操做步驟,以下:
轉換界面,空白處,鼠標右鍵,定義錯誤處理
定義日誌位置,文件名
定義日誌內容
定義日誌字段