初始Kettle

初始

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。

  1. 配置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

  2. 部署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
    出现帮助信息为正确,如图:
    初始Kettle

  3. 建立作业和转化
    建立目录: mkdir -p /data/kettle/kettle-job
    将windows中建好的作业(.kjb)和转化(.ktr)文件放入/data/kettle/kettle-job文件夹中
    并将.kjb文件中windows的转换路径修改为Linux路径。

  4. 设定定时任务
    用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
上一篇:spoon 获取sql查询语句 一个错误发生


下一篇:【JEECG示例文档】使用Kettle从mysql向oracle中抽取数据