Kettle
作者:毫末科技
邮箱:hxg@haomo-studio.com
微信二维码:
1 概述
1.1 技术描述
这是一个ETL平台。
涵盖了四个模块,如下:
- Spoon:图形界面工具,快速设计和维护复杂的ETL工作流。
- Kitchen:运行作业的命令行工具。kitchen用来执行作业
- Pan:运行转换的命令行工具。pan用来执行转换
- Carte:轻量级的Web服务器,用来远程执行转换或作业
小结:Spoon是kettle的集成开发环境,也就是说,在Spoon里面设计好作业或者转换。作业和转换可以在图形界面里执行,但是这只是在开发、测试和调试阶段。在开发完成后,需要部署到实际运行环境中,在部署阶段Spoon就很少用到了。
1.1.2 重要概念
- 在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。
1.2 技术发展历史
1.3 技术发展趋势
2 技术方案
2.1 方案1:xxxx
2.2 方案2:xxxx
2.3 方案3:xxxx
3 市场应用
3.1 xxx行业应用
3.2 xxx行业应用
3.3 xxx行业应用
4 产品方案对比
4.1 开源方案
4.1.1 开源方案xxx
4.1.2 开源方案xxx
4.2 商业方案
4.1.1 xxx商业项目
4.1.2 xxx商业项目
5 安装和使用
5.1 安装
5.2 使用
5.2.1 案例:Access导入到MySQL
任务描述:从Access中抽取数据,将数据插入到目标MySQL数据库中。
5.2.1.1 界面配置
- 配置输入
- 配置转换
- 配置输出
5.2.1.2 执行
点击执行按钮,如下图所示
5.2.1.3 服务器端执行
- Kitchen
./kitchen.sh -file=/data/jobname.kjb -level:Detailed >>/data/log.log
- Pan
./pan.sh -file=/data/transformation.ktr -level:Detailed >> /data/t_log.log
给转换传入参数:
./pan.sh -file=/data/transformation.ktr -level:Detailed -param:arg1=/data
日志级别: Error: Only show errors Nothing: Don't show any output Minimal: Only use minimal logging Basic: This is the default basic logging level Detailed: Give detailed logging output Debug: For debugging purposes, very detailed output. Rowlevel: Logging at a row level, this can generate a lot of data.
5.2.1.4 调用Api执行
# 启动Api服务
./carte.sh 0.0.0.0 8080
# 调用api服务
curl --location --request POST 'http://<host:8080>/kettle/executeTrans/?trans=/opt/data-integration/samples/transformations/add_sequence_basic.ktr&level=Debug' \
--header 'Authorization: Basic xxxxxx'
参考: