kettle部署及使用

Kettle部署及使用

目录

一、kettle概述

1、ETL介绍
  • ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,它是构建数据仓库的重要环节,但其对象并不限于数据仓库。
2、kettle介绍
  • Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定
  • Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制
  • Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么
  • Kettle是纯Java编写的ETL开源工具,建议安装 JDK1.8 及以上,7.0以后版本的 Kettle 不支持低版本 JDK
  • 操作界面:图形化操作界面,同时也支持脚本编写开发
3、Kettle工程存储方式

(1)以XML形式存储

(2)以资源库方式存储(数据库资源库和文件资源库)

4、Kettle内置

目前包含五个产品:Spoon、Pan、Chef、Kithcen、Encr

  • SPOON: 是一个图形用户界面,允许你通过图形界面来设计ETL转换过程(Transformation)和任务。
  • PAN: 转换(trasform)执行器;允许你批量运行由Spoon设计的ETL转换 (如使用一个时间调度器)。Pan是一个后台执行 的程序,没有图形界面。
  • CHEF: 允许你创建任务(Job)。 任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。 任务通过允许每个转换,任务,脚本等等。任务将会被检查,看看是否正确地运行了。
  • KITHCEN: 作业(job)执行器;允许你批量使用由Chef设计的任务 (如使用一个时间调度器)。KITCHEN也是一个后台运 行的程序。
  • ENCR: 用来加密连接数据库密码与集群时使用的密码
5、运行平台
  • 服务器端支持:[Windows Server](https://baike.baidu.com/item/Windows Server/271508), CentOS, RHEL, Ubuntu

  • 开发客户端支持:Windows, Ubuntu Desktop, MacOS

  • 浏览器端支持:[Internet Explorer](https://baike.baidu.com/item/Internet Explorer/1537769), Chrome, Firefox, Safari, Edge

  • 可以在本地运行,也可以连接远程机器运行

6、操作界面
  • 图形化操作界面,同时也支持脚本编写开发

二、Kettle安装部署和使用

1、Kettle下载
2、配置JAVA环境变量

由于Kettle是使用Java语言编写的,所有Kettel的运行需要有Java环境,安装JDK,配置环境变量

3、 Windows下安装
1、安装jdk
  • 可自行更改安装位置(要记住这个位置,后面配置环境变量的时候要用到)

    (1)、安装jdk

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DMCuivK5-1639991026078)(https://obohe.com/i/2021/12/11/x60ra5.png)]

(2)、安装jre

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iG1HulJo-1639991026079)(https://obohe.com/i/2021/12/11/x71mza.png)]

(3)、安装完成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DunCj3MW-1639991026080)(https://obohe.com/i/2021/12/11/x71vbe.png)]

2、配置环境变量

(1)、安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量

image

(2)、新建系统变量,命名为JAVA_HOME,变量h值为安装的jdk的位置

image

(3)、选中path点击编辑,添加输入以下内容“%JAVA_HOME%\bin;%Java_Home%\jre\bin;”

image

image

(4)、在系统变量中点击新建,变量名为CLASSPATH,变量值为:.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar

image

(5)、新建之后点击确定

image

(6)、回到电脑桌面,按快捷键“Win+R”,输入“cmd”,检验环境是否配置成功,输入 java和javac,若出现以下结果说明配置成功

image

image

3、安装Kettle
  • 将pdi-ce-8.2.0.0-342.zip直接解压文件到指定目录即可

image

  • 添加MySQL连接驱动到lib目录

image

4、运行Kettle
  • 直接双击spoon.bat即可运行Kettle,由于Kettle是纯JAVA编写的启动需要大内存,所以启动会比较慢
  • Kettle有转换和作业两种运行方式,作业可以包含转换,转换的存储方式是ktr文件,作业的存储方式是job文件

image

5、转换
  • 点击左上角新建-转换

image

  • 点击左上角新建数据库连接

image

  • 高级设置里面设置characterEncoding参数为utf8

image

  • 双击表输入进入编辑

image

  • 双击MySQL批量加载进入编辑
  • MySQL批量加载只能在Linux中运行,可以将批量加载改为表输出

image

image

  • 点击运行会先保存

image

image

6、作业
  • 作业需要一个start一个success,可以插入脚本和转换

image


三、创建数据库资源库

  • 之前,我们新建转换或者作业的时候,都是直接保存在本地,而如果我们是多人开发的话,除了使用SVN等版本控制软件,还可以使用Kettle的资源库,他会将转换、作业直接保存在数据库中,而且,连接资源库的话,我们就不需要每一次都新建数据库连接了
  • 1、在MySQL中创建kettle数据库

    mysql> create database kettle;
    Query OK, 1 row affected (0.01 sec)
    
  • 2、点击右上角connect,选择Other Resporitory,点击Other Repositories

image

  • 3、点击Database Repository

image

  • 4、创建数据库连接

image

  • 5、设置命令参数

image

  • 6、填好之后,点击finish,会在指定的kettle库中创建很多表,至此数据库资源库创建完成

image

image

image

  • 7、连接资源库
    • 默认账号密码为admin

image

  • 连接资源库之后新建的作业和转换都将保存在资源库中
  • 转换保存在MySQL中kettle库中的R_TRANSFORMATION表,作业保存在R_JOB表

image

image

  • 如果出现输入账号密码提示账号或密码错误说明中间操作有误,需要将MySQL数据库中kettle数据库删了重新创建,然后再重新创建资源库,如果kettle中的表和上图中kettle中的表数量一致说明创建资源库成功

四、 Linux下安装使用

1、单机
1、安装jdk
  • (1)、卸载自带jdk

image

使用rpm -qa | grep jdk 或rpm -qa | grep java命令查询出自带的 jdk

image

 使用命令rpm -e --nodeps 系统自带的jdk文件名删掉黄色框起来的四个,另外三个不要动

image

  • (2)、安装jdk

    • 上传到服务器进行解压

    image

    • 配置环境变量
    vim /etc/profile
    
    //添加这两行
    export JAVA_HOME=/opt/jdk1.8.0_171
    export PATH=$PATH:$JAVA_HOME/bin
    
    //添加完成后需要source一下使环境变量生效
    source /etc/profile
    

    image

2、安装kettle
  • (1)、直接将kettle压缩包上传到服务器解压

    • 需要将mysql驱动上传到kettle目录下的lib目录
    • 将Windows本地用户家目录下的隐藏目录上传到用户的家目录下(C:\Users\用户名\ .kettle )

    image

  • 运行数据库资源库中的转换:

    在kettle目录下执行命令
    ./pan.sh -rep=test -user=admin -pass=admin -trans=test -dir=/
    

    image

  • 运行资源库里的作业:

    记得把作业里的转换变成资源库中的资源

    记得把作业也变成资源库中的资源

    在kettle目录下执行命令
    ./kitchen.sh -rep=test -user=admin -pass=admin -job=test -dir=/
    
    • 参数说明:
      • -rep - 资源库名
      • -user - 资源库用户名
      • -pass – 资源库密码
      • -job – job名
      • -dir – job路径(当直接运行kjb文件的时候需要指定)
      • -logfile – 日志目录
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值