kettle学习笔记

1.kettle的简介

Pentaho Data Integration(kettle)是一款开源的ETL(Extract Transsformation Load)工具,用来完成数据的抽取、清洗、转换和加载等数据处理方面的工作

源代码下载地址:

svn://source.pentaho.org/svnkettleroot/Kettle/trunk

官方文档:http://infocenter.pentaho.com

Bug报告地址:http://jira.pentaho.com/browse/PDI

官方论坛: http://forums.pentaho.org/forumdisplay.php?f=135

中文论坛:http://www.pentahochina.com

kettle的特点

kettle学习笔记_第1张图片

kettle对比

Kettle vs Informatica

相似点:

•Pentaho 和 Informatica 都提供了大量的转换步骤、脚本功能,都 可以处理复杂的ETL 转换。

•通常情况下 Informatica 比 Kettle 更快。Informatica 有下推优化, 缓存查询等提高性能的手段。但是如果你对 Kettle 和数据库有足够 的了解,做一些调整,你可以提高 Kettle 的速度,在一些情况下可 以达到甚至超过 Informatica 的速度。

Kettle 的优点:

•Kettle 的易用性比 Informatica 好,需要的培训要少很多。

•Kettle 不需要像 Informatica 那样大的前期投入。

•Kettle 的插件架构支持快速定制开发

Informatica 的优点:

•Informatica 的错误报告功能比 Kettle 更友好,更容易定位错误。 Kettle 通常只把异常抛出,需要实施人员有更丰富的经验。

•Informatica 比 Kettle 有更好的监控工具和负载均衡等企业级应用 功能,更适合大规模的ETL 应用。。

kettle的几个子程序的功能和启动方式

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

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

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

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

Encr.bat: 密码加密

 

2.下载kettle

点击进入kettle官网

找到下图所示的download

kettle学习笔记_第2张图片

kettle学习笔记_第3张图片

或者直接使用下面的地址直接进行下载kettle7.1

点击下载kettle7.1

直接解压即可

或使用国内镜像资源站:

去国内镜像站下载kettle

3.kettle的使用

找到kettle解压的路径

kettle学习笔记_第4张图片

直接双击启动Spoon.bat

然后执行下图所示

kettle学习笔记_第5张图片

kettle学习笔记_第6张图片

点击测试后,报错信息如下

kettle学习笔记_第7张图片

报错原因:Mysql驱动没有找到

Mysql5.5版本之后全部采用统一的驱动jar即为MySqlConnector/J 8.0.11

去官网下载mysql驱动包

点击去mysql官网

kettle学习笔记_第8张图片

解压刚下载的mysql-connector-java-8.0.12.zip文件

kettle学习笔记_第9张图片kettle学习笔记_第10张图片

把上图所示的.jar文件放在Spoon.bat所在的目录中,然后重启kettle

kettle学习笔记_第11张图片

如果上述没效果就把驱动放在:

       \pdi-ce-5.2.0.0-209\data-integration\lib下或

        \pdi-ce-5.2.0.0-209\data-integration\libswt\win64下【我的电脑是64位的】

重启之后即可解决这个问题。
如果还是不行就换个musql的驱动版本,因为每个人的mysql版本都不同,所以用的也是不同的驱动jar

 

4.kettle资源库-元数据

元数据的通用概念:

• “描述性数据”或“数据的数据”

ETL 的元数据:

• 描述 ETL 要执行的任务

在Kettle里元数据的存储方式:

• 资源库

资源库包括文件资源库、数据库资源库

Kettle 4.0 以后资源库类型可以插件扩展

• XML 文件

.ktr 转换文件的XML的根节点必须是 

.kjb 作业XML的根节点是

5.新建数据库资源库

kettle学习笔记_第12张图片

kettle学习笔记_第13张图片

kettle学习笔记_第14张图片

kettle学习笔记_第15张图片

kettle学习笔记_第16张图片

kettle学习笔记_第17张图片

kettle学习笔记_第18张图片

如果出现下图所示报错:

kettle学习笔记_第19张图片

MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE

需要修改如下对应的语句(把N改成0,把Y变成1),这个可能是mysql的语法问题

kettle学习笔记_第20张图片

kettle学习笔记_第21张图片

然后点击执行如下所示:

kettle学习笔记_第22张图片

然后会弹出运行结果:

kettle学习笔记_第23张图片

点击确定即可:

然后关闭之前的sql语句窗口

kettle学习笔记_第24张图片

然后去mysql查看一下元数据表是否创建完成

kettle学习笔记_第25张图片

kettle学习笔记_第26张图片

kettle学习笔记_第27张图片

出现上图表示数据库资源库初始化成功!!!

你可能感兴趣的:(kettle)