初始
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