Kettle 入门
目录
kettle 简介
- Kettle最早是一个开源的ETL(Extract-Transform-Load的缩写)工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。
- 它由Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。
- Kettle是一个实现ETL开发的一款开发工具,Spoon是Kettle工具提供的图形化界面。
主要功能
Pentaho Data Integration作为一个端对端的数据集成平台,可以对多种数据源进行抽取(Extraction)、加载(Loading)、数据落湖(Data Lake Injection)、对数据进行各种清洗(Cleasing)、转换(Transformation)、混合(Blending),并支持多维联机分析处理(OLAP)和数据挖掘(Data mining)。
kettle 安装
下载 kettle
安装 kettle
使用 rar 、 zip 、7z 等解压工具,解压下载的 kettle.tar.gz 文件
注意: kettle 运行需要 java 环境 ,java 环境(jdk安装)配置自行百度
修改内存
kettle 默认的初始内存很小,运行 kettle 时经常会内存溢出。修改 Spoon.bat 文件,找到if "%PENTAHO_DI_JAVA_OPTIONS%"部分
修改内容:
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx4096m" "-XX:MaxPermSize=256m" "-Dfile.encoding=UTF-8"

修改后内存后,如果使用时还报内存不足,根据具体情况适当增加"-Xms1024m" "-Xmx4096m"大小配置。
安装驱动
kettle 几乎支持所有主流数据库,但是驱动需要手动导入。
kettle 驱动路径:data-integration\lib
kettle 驱动可以通过 maven 中央仓库获取,如 mysql 驱动、oracle 驱动
常见驱动包(钉钉下载地址):
启动 kettle
打开data-integration目录,windows 端双击 Spoon.bat 启动

kettle 使用
使用前需要理解转换和作业。
- 转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)。
- 作业是比转换更高一级的处理流程,一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,转换也是一个作业项。
转换
通过一个简单例子,实现两个数据库的表数据同步
- 创建转换

- 创建 DB 连接

填写配置,点击测试,测试通过后点击确认,完成 DB 连接

共享 DB 连接,方便全局使用

- 表输入

- 表输入

目标数据库

字段映射

- 测试数据
INSERT INTO `demo`.`test` (`id`, `name`) VALUES (1, '2');
- 运行

查看结果

作业
- 创建作业

- 编写作业

- 配置转换

- 运行作业

