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对比
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: 密码加密
点击进入kettle官网
找到下图所示的download
或者直接使用下面的地址直接进行下载kettle7.1
点击下载kettle7.1
直接解压即可
或使用国内镜像资源站:
去国内镜像站下载kettle
找到kettle解压的路径
直接双击启动Spoon.bat
然后执行下图所示
点击测试后,报错信息如下
报错原因:Mysql驱动没有找到
Mysql5.5版本之后全部采用统一的驱动jar即为MySqlConnector/J 8.0.11
去官网下载mysql驱动包
点击去mysql官网
解压刚下载的mysql-connector-java-8.0.12.zip文件
把上图所示的.jar文件放在Spoon.bat所在的目录中,然后重启kettle
如果上述没效果就把驱动放在:
\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
元数据的通用概念:
• “描述性数据”或“数据的数据”
ETL 的元数据:
• 描述 ETL 要执行的任务
在Kettle里元数据的存储方式:
• 资源库
资源库包括文件资源库、数据库资源库
Kettle 4.0 以后资源库类型可以插件扩展
• XML 文件
.ktr 转换文件的XML的根节点必须是
.kjb 作业XML的根节点是
如果出现下图所示报错:
MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE
需要修改如下对应的语句(把N改成0,把Y变成1),这个可能是mysql的语法问题
然后点击执行如下所示:
然后会弹出运行结果:
点击确定即可:
然后关闭之前的sql语句窗口
然后去mysql查看一下元数据表是否创建完成
出现上图表示数据库资源库初始化成功!!!