Kettle系列教程-第一章:运行环境配置
本系列教程基于Kettle 8.1(pdi-ce-8.1.0.0-365)。大部分内容同样适用于Kettle 7.x版本。
章节目录:
- 一、运行环境配置
- JDK
- JVM参数
- KETTLE_HOME
- 依赖包导入
- 二、转换与作业
- 转换流程
- 作业流程
- 三、数据库连接配置
- 创建数据库连接
- 共享数据库连接
- 数据库连接参数
- 四、资源库(数据库存储方式)
- 创建资源库
- 保存流程到资源库
- 从资源库打开流程
- 五、变量/参数
- 参数的配置与使用
- 变量的配置与使用
- 六、转换流程-输入组件
- Excel输入
- 表输入
- 七、转换流程-输出组件
- Excel输出
- 文本文件输出
- 表输出
- 八、转换流程-转换组件
- 九、脚本组件
- 转换-Java代码组件
- 作业-SQL组件
- 作业Shell组件
- 十、对接大数据平台
- 基础文件配置
- 上传文件到HDFS
- 连接Hive
- 十一、使用Windows计划任务定时执行Kettle作业
- 命令说明
- 编写批处理脚本执行Kettle作业
- 创建计划任务定时执行Kettle作业
- 十二、使用Java执行Kettle作业
- 搭建Kettle运行环境
- 代码示例(作业、转换、资源库)
本章说明
- 本篇内容为第一章:运行环境配置。
- 本章内容基于Windows平台,可能不适用于Linux下的环境配置。
- 本章所有操作都是重启Kettle后生效。
JDK
Kettle 8.1要求jdk版本1.8以上,Windows下jdk环境的配置这里就不赘述了。只说一下其中一种可能的情况:系统已配置jdk环境,但不是jdk1.8,又不想升级已配置的jdk环境,即需要单独为Kettle配置jdk1.8环境。
操作如下:首先安装jdk1.8,不用修改系统环境变量。然后进入 data-integration
目录找到Spoon.bat
文件,右键使用除了记事本以外的文本编辑器打开(比如 VS Code、EditPlus、Notepad ++),在”cd /D %~dp0
“下面添加一行(路径指向jdk1.8的目录,可以使用相对路径):”set JAVA_HOME=/path/to/jdk1.8
“即可。如图所示:
JVM参数
Kettle 8.1默认使用的最大jvm堆内存是2G,执行某些复杂作业可能会出现堆内存溢出错误(OutOfMemoryError
),此时就需要调正Kettle的jvm参数。
依旧是data-integration
目录下的Spoon.bat
文件,找到
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"
这一行,适当增大”-Xmx
“参数值即可。
如果出现了栈溢出错误(StackOverFlowError
)(一般不会出现),则需要再增加一个参数”-Xss
“,数值需要根据本机内存配置适当填写。
如图所示:
KETTLE_HOME
Kettle运行时会使用一个名叫”.kettle
“的文件夹,里面存放着一些配置文件。默认该目录在C盘个人用户目录下:
通常情况下没什么问题,但如果需要同时安装多个Kettle的话,最好还是单独配置一下KETTLE_HOME
,这样的话,.kettle
目录就会自动创建在配置的KETTLE_HOME
目录下。
仍旧是data-integration
目录下的Spoon.bat
文件,在”cd /D %~dp0
“下面添加一行”set KETTLE_HOME=../
“,如图所示:
这次使用了相对路径,启动Kettle后会在Spoon.bat所在目录的上一层目录下创建一个.kettle
文件夹(当然也可以使用绝对路径):
依赖包导入
Kettle是没有内置数据库jdbc连接驱动的,当测试数据库连接的时候报出未找到驱动错误,那肯定是忘记导入jdbc驱动了。因此需要提前把常用数据库的jdbc驱动放置到data-integration/lib/
目录下,另外,若是在Java代码组件中使用了第三方依赖包,也需要依赖包放置到该目录下。
不同版本的jdbc驱动对于不同版本的数据库可能会出现不兼容问题,导入驱动的时候需要对照下数据库版本。
不能把一个数据库的多个版本的jdbc驱动同时导入,会造成依赖冲突。
本章完!
下一章:Kettle转换与作业