1.kettle 部署与使用

教程 阿布都的都 ⋅ 于 2023-01-07 14:37:51 ⋅ 525 阅读

1 概述

​ ETL是EXTRACT(抽取)、TRANSFORM(转换)、LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环,也是工作量较大的一块。

​ Kettle是ETL中其中一个开源工具,基于纯Java开发,Kettle 是 PDI 以前的名称,PDI 的全称是Pentaho Data Integeration。

kettle有两种脚本:transformation(转换)和 Job(作业)

transformation:完成针对数据的基础转换

job:完成整个工作流的控制

Kettle有三个主要组件:Spoon、Kitchen、Pan

     Spoon:图形化工具,用于快速设计和维护复杂的ETL工作流。windows选择Spoon.bat;Linux选择spoon.sh

     Kitchen:用来执行job(作业)

     Pan:用来执行transformation(转换)

file

file

2 windows 安装和使用

2.1 安装

kettle 是免安装的,只需要解压kettle pdi压缩包至本地即可。由于kettle是基于java语言的,所以要安装jdk。

file

2.2 启动

执行spoon.bat

file

2.3 配置转换

2.3.1 创建转换

文件 → 新建 → 转换, 进入转换页面

file

2.3.2 配置转换流程

在左面核心对象中,选择相应的组件拖到右面, 配置相应参数就可以实现转换操作。

注意:后面的组件要连上后能获取前面组件传过来的字段。

file

2.3.3 运行转换流程

file

执行转换操作。

2.3.4 保存转换流程

点击 保存,会将当前转换流程生成 ktr配置文件,这个配置文件可用于在linux上运行。

3 Linux操作系统

3.1 安装

ETL服务器解压kettle安装包。

cd /opt
unzip kettle.zip
chmod -R 777 /opt/kettle

file

用root用户修改 /etc/profile文件, 配置path,并source

file

3.2 运行

3.2.1 linux上用pan.sh 执行 生成的转换操作文件

1)上传kettle任务ktr配置文件到Linux操作系统

​ 上传到linux后,需要修改配置文件中的 输入文件和输出文件 为linux系统的文件路径。

# 输入文件目录
/home/omm/kettle_test/csv_input/userdata.csv
# 输出文件目录
/home/omm/kettle_test/excel_output\output.xls

2)用pan.sh 执行 ktr文件

执行命令

# -file:指定要运行的转换配置文件
pan.sh -file=/home/omm/kettle_test/csv2excel.ktr -level=Detailed

执行ETL清洗任务,清洗任务可以封装在shell脚本内,通过调度系统定时调度。

3.2.2 linux上用kitchen.sh 执行 生成的作业文件

1)上传kettle任务ktr配置文件到Linux操作系统

​ 上传到linux后,需要修改配置文件中的 输入文件和输出文件 为linux系统的文件路径。

# 输入文件目录
/home/omm/kettle_test/csv_input/userdata.csv
# 输出文件目录
/home/omm/kettle_test/excel_output\output.xls

2)生成kettle任务kjb配置文件到linux操作系统

上传到linux后,需要修改配置文件中的 ktr配置文件 为linux系统的文件路径。

# ktr配置文件目录
/home/omm/kettle_test/csv2excel.ktr

3)用kitchen.sh 执行 kjb文件

执行命令

# -file:指定要运行的作业配置文件
kitchen.sh -file=/home/omm/kettle_test/csv2excel.kjb -level=Detailed
版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-阿布都的都,http://hainiubl.com/topics/76084
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter