1、ETL简介
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于开发或者运维人员来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少,这里我们要学习的ETL工具就是Kettle!
2、Kettle简介
Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle(现在已经更名为PDI,Pentaho Data Integration-Pentaho数据集成)。
3、kettle的核心组件
4、Kettle的概念模型
Kettle的执行分为两个层次:Job(作业)和Transformation(转换)。
1、kettle下载地址和教程链接:
官网各个版本下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/ B站2019kettle8.2最新教程:https://www.bilibili.com/video/BV1jE411B7J8 国内kettle论坛网:https://www.kettle.net.cn/
2、Kettle是纯JAVA编程的开源软件,本地环境配置JDK1.6以上即可运行,解压后直接使用无需安装。
JDK的安装过程:
详见文章:https://cloud.tencent.com/developer/article/1774160 配置环境变量,右击【我的电脑】---【属性】-----【高级】---【环境变量】 选择【新建系统变量】--弹出“新建系统变量”对话框,在“变量名”文本框输入“JAVA_HOME”,在“变量值”文本框输入JDK的安装路径(也就是步骤5的文件夹路径),单击“确定”按钮 在“系统变量”选项区域中查看PATH变量,如果不存在,则新建变量 PATH,否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始位置添加“%JAVA_HOME%in;%JAVA_HOME%jrein;”或者是直接“%JAVA_HOME%in;”,单击确定按钮 在“系统变量”选项区域中查看CLASSPATH 变量,如果不存在,则新建变量CLASSPATH,否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始位置添加“.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;” 现在测试环境变量的配置成功与否。在DOS命令行窗口输入“JAVAC”,输出帮助信息即为配置正确。
3、需准备的其他东西:数据库驱动,如将驱动放在kettle根目录的bin文件夹下面即可。
4、打开kettle只需要运行spoon.bat,即可打开spoon图形工具:
5、Kettle目录文件介绍
1、打开kettle后一闪而过就没了
可能有如下原因:
① Java环境没配置好会出现问题
② 可能是JDK版本太低了,JDK1.6以上版本才行,具体的可以查看spoon.bat配置文件。
REM java version "1.6.0_17" REM Java(TM) SE Runtime Environment (build 1.6.0_17-b04) REM Java HoTSPot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)
③ Java环境配置对了,但是启动不了spoon.bat,也就是双击spoon.bat后一闪就没了的问题。
报错:error:could not create the java virtual machine;这错误并不是说java虚拟机出了问题,可能是由于kettle启动内存过大,要修改spoon.bat里内存配置:
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m" "-XX:MaxPermSize=256m" 改为 if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m" #参数解释:-Xms5128m JVM初始分配的堆内存 -Xmx512m JVM最大允许分配的堆内存,按需分配 -XX:PermSize=64M JVM初始分配的非堆内存 -XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配
修改之后保存,重新启动spoon.bat即可。
2、连接数据库报错
大部分连接数据库报错,除了IP/账号密码/端口/库不对之外,就是没有把数据库驱动放到data-integration7lib下,下载好对应的驱动,放置到lib文件下即可。
3、kettle无法创建xml相关步骤,有相关步骤的.ktr文件也打不开
可能是因为路径中包含中文,将整个安装包移动到桌面或其他没有中文字符的路径下,重启Spoon.bat即可。