Pentaho Data Integration(Kettle) 简单上手

PDI(Pentaho Data Integration,或者Kettle)是一款开源的ETL工具,可以用它来对数据进行抽取、清洗和转换操作,从而获得我们想要的数据。

Kettle 下载

官网下载

Paste_Image.png

当前最新版本是v7.1,点击绿色按钮即可跳转到sourceforge网站下载,这里默认的提供的下载版本就是最新版的,如果要选择历史版本可以点击这里选择合适的版本下载。

Kettle启动

Kettle没有安装包,绿色版无需安装,下载完成后会得到一个zip压缩包,解压后会生成一个文件夹:

Paste_Image.png

这个文件夹就是kettle的主目录,打开文件夹可以看到Kettle的启动脚本和快捷方式。Windows系统点击Spoon.bat即可启动,类Unix系统需通过命令的形式启动,我们切换到Kettle主目录,然后执行spoon.sh脚本,如下:

cd data-integration
./spoon.sh

启动完成界面:

Paste_Image.png

运行第一个转换

在开始第一个转换之前我们还得做一些准备工作,因为选择连接的数据库是MySQL,所以需要MySQL的连接驱动,Kettle默认是没有的,至少在7.1还没,所以需要去添加一个mysql-connector-java-***.jar,把他放在libswt的对应操作系统目录下:

Paste_Image.png

osx64目录下

Paste_Image.png

重新启动kettle。

kettle分转换和作业两种,转换是作业的子集,一个作业由许许多多转换构成的,双击左侧主对象树下面的转换即可添加一条转换,先保存下:

Paste_Image.png

然后双击ts1下的DB连接,填写连接名称,连接类型选择MySQL,连接方式按需选择,jdbc应该没什么好说的,如果选择jndi就要多提一句,本地测试的话需要编辑Kettle主目录下的simple-jndi/jdbc.properties配置,如下:

Paste_Image.png

这里的填的名称都是/前的名字,之后点击测试按钮可以检测配置是否正确。
配置完数据库连接之后就可以真正开始写一个转换了,我们选择核心对象,这里面有许多的转换组件,且帮我们分好了类别,我们可以拖拽他们到主面板上:

Paste_Image.png

以上是一个转换示例,一下做一个简单说明

  1. 清空item表:主要是执行一条SQL语句:
Paste_Image.png
  1. 自定义常量数据:定义一些需要用到的数据,这个不是必须的:
Paste_Image.png

3.从bas_item表抽取数据:

Paste_Image.png
  1. 过滤记录:过滤一些无效数据
Paste_Image.png
  1. 去除不需要字段:这个功能比较实用,可以给字段改名,删除字段,修改字段格式等
Paste_Image.png
  1. JavaScript代码:一些简单的JavaScript代码,主要还是用来做数据辨别的
Paste_Image.png
  1. 更新item维度表:把抽取出来的数据用来更新另一张表
Paste_Image.png

最后,可以运行这个示例来测试了:

Paste_Image.png

顺便提一下这里可以添加一些运行转换会用到的变量,点击启动即可:

Paste_Image.png

执行成功会在对应步骤的右上角显示成功标记。

以上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。My...
    黄花菜已凉阅读 4,602评论 3 60
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,061评论 0 19
  • 你第一次找我和今天的雨像极了。绵绵、冷。 那时的我、还可以底气十足的说自己是名学生。 我还有很多的时光去想想、想你...
    白茶清欢无别事__阅读 234评论 0 0
  • 带着伤痕累累的身体 饿着扁扁平平的肚子 开启了又一次的魔鬼单车训练 我不知道自己能否坚持下来 我决定去背水一战 顶...
    慕容兰馨阅读 330评论 0 3