初始
Kettle(水壺)是開源的ETL(數據抽取Extract、轉換Transform、加載Load)工具,數據抽取和轉換工具。Java編寫,可在Windows、Linux、Unix上運行,支持各種數據類型放到水壺裏。以一種指定的格式流出,ETL工具允許來自不同的數據庫的數據,通過圖形化用戶環境來描述。
Kettle有兩種腳本文件,transformation和job,transformation完成數據基礎轉換,job完成整個工作流控制。
Kettle有三個主要組件:Spoon、Kitchen、Pan
- Spoon 是圖像化界面,可讓我們用圖像化方式開發轉化和作業(Transformation)。Windows選擇Spoon.bat;Linux選擇Spoon.sh。
- Kitchen 可用命令方式調用Job,後臺執行的程序,無圖形化界面。
- Pan 允許批量運行由Spoon設計的ETL轉化。調用Trans,後臺執行的程序,無圖形化界面。
- Carte 是一個輕量級的Web容器,用於建立專用、遠程的ETL Server
Linux環境安裝部署Kettle
Kettle安裝部署,將Mysql數據通過Kettle寫入分析型數據庫(ADS),設置定時任務crontab方式,定時Mysql數據 => ADS。
- 配置JDK1.8,用SUN的JDK,自行官網下載。
vim /etc/profile.d/java.sh JAVA_HOME=/usr/java/jdk1.8.0_25 PATH=$JAVA_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin export PATH
驗證: java -version
-
部署kettle
下載:https://community.hitachivantara.com/docs/DOC-1009855?spm=a2c4g.11186623.2.4.zMdWMo
解壓:ll /data/kettle/data-integration
驗證kettle:/data/kettle/data-integration/kitchen.sh
出現幫助信息爲正確,如圖: -
建立作業和轉化
建立目錄: mkdir -p /data/kettle/kettle-job
將windows中建好的作業(.kjb)和轉化(.ktr)文件放入/data/kettle/kettle-job文件夾中
並將.kjb文件中windows的轉換路徑修改爲Linux路徑。 - 設定定時任務
用Linux定時任務crontab。
crontab -l#data center crond 0 1 * * * /bin/bash /data/kettle/kettle-job-ads/start.sh >> /data/kettle/kettle-job-ads/kettle.log 2>&1 0 2 * * * /bin/bash /data/kettle/kettle-job-ads/start-s.sh >> /data/kettle/kettle-job-ads/kettle1.log 2>&1