Kettle安装及基本介绍(开山篇:用前必看)

一、何为ETL?

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

1. 抽取(Extract)

将数据从各种原始的业务系统中读取出来,以便为随后的步骤提供数据。

2. 转换(Transform)

任何对数据的处理过程都是转换。这些处理过程通常包括(但不限于)下面一些操作:

(1) 数据清洗(过滤不完整的数据、错误的数据、重复的数据)

(2) 根据规则验证数据

(3) 根据处理后的数据计算派生值和聚集值

3. 加载(Load)

将数据加载到目标系统的所有操作。

二、kettle简单介绍

kettle 是纯 java 开发,开源的 ETL工具,用于不同数据源之间的数据迁移 。可以在Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。

kettle 官网:https://community.hitachivantara.com/docs/DOC-1009855

github 地址:https://github.com/pentaho/pentaho-kettle

三、下载、安装 

此处以 windows 下的配置为例,linux 下配置类似。

1. 下载 kettle

   从官网下载 kettle ,解压到本地即可(亲测不翻墙的话下载速度时快时慢,所以建议大家在下载的时候尽量翻墙)。

直接访问上面官网地址,下拉找到下载链接,就可进行下载。 

如果不想翻墙 可以使用 mirrorservice 的镜像服务, 下面是 kettle 下载路径,本人就是采用这种方式下载,下载版本是pdi-ce-8.2.0.0-342.zip

http://sourceforge.mirrorservice.org/p/pe/pentaho/ 

2. jdk 安装及配置环境变量

由于 kettle 是基于 java 的,因此需要安装 java 环境,并配置 JAVA_HOME 环境变量。建议安装 JDK1.8 及以上,7.0以后版本的 kettle 不支持低版本 JDK。

3. 下载相应的数据库驱动

由于 kettle 需要连接数据库,因此需要下载对应的数据库驱动。

例如 MySQL 数据库需要下载 mysql-connector-java.jar,oracle 数据库需要下载ojdbc.jar。下载完成后,将 jar 放入 kettle 解压后路径的 lib 文件夹中即可。

注意:本文基于 pdi-ce-8.2.0.0-342 版本进行介绍,低版本可能有区别。

四、基本用法

1. Kettle 子程序的功能和启动方式

打开kettle安装路径:\data-integration\

Spoon.bat: 图形界面方式启动作业和转换设计器。

Pan.bat: 命令行方式执行转换。

Kitchen.bat: 命令行方式执行作业。

Carte.bat: 启动web服务,用于 Kettle 的远程运行或集群运行。

Encr.bat: 密码加密

2. 转换和作业概念介绍

Kettle 的 Spoon 设计器用来设计转换(Transformation)和 作业(Job)。转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)。作业是比转换更高一级的处理流程,一个作业里包括一个或者多个作业项(Job Entry),一个作业项代表了一项工作,转换也是一个作业项。

3. 操作界面如下 

 

4. 输入步骤简介

输入类步骤用来从外部获取数据,可以获取数据的数据源包括:文件类(txt,csv,xml,json,excel)、数据库、 非关系型数据库、服务、自定义的数据等。

输入内容部分截图如下:

5. 转换步骤简介

转换类步骤是对数据进行各种形式转换所用到的步骤。

例子:

- 字段选择 (选择需要的字段,剔除不需要的字段)

- 计算器(对数值字段进行计算)

- 增加常量

 

6. 输出步骤简介

输出步骤是输出数据的步骤,常见的输出包括文件类输出、表输出等,也可以根据应用的需求开发插件以其他形式输出。 

7. 保存

用户通过 Spoon 创建的转换、作业、数据库连接等可以保存在资源库和 XML 文件中。转换文件以 ktr 为扩展名,作业文件以 kjb 为扩展名

五、总结

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

至此介绍结束,如果大家还想深入学习,可以扫描下图关注本人公众号,本人将在上面分享更多关于kettle的学习资料。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值