kettle 入门教程 ETL 基础 介绍

本文详细介绍Kettle ETL工具的使用方法,涵盖数据转换、作业自动化及命令行执行等功能,适合初学者快速掌握Kettle核心操作。

kettle 介绍

kettle是一个ETL(Extract, Transform and Load)数据抽取、转换、载入工具,ETL工具在数据仓库项目使用非常频繁,kettle也可以应用在以下一些场景:

  • 在不同应用或数据库之间整合数据

  • 把数据库中的数据导出到文本文件

  • 大批量数据装载入数据库

  • 数据清洗

集成应用相关项目是个使用

kettle使用非常简单,通过图形界面设计实现做什么业务,无需写代码去实现,因此,kettle是以面向元数据来设计

kettle支持很多种输入和输出格式,包括文本文件,数据表,以及商业和免费的数据库引擎。另外,kettle强大的转换功能让您非常方便操纵数据。

kettle 安装

下载地址

由于我的平台是mac,有bug,双击不能运行,只能解压后 在终端输入

复制

kettle 介绍

kettle是一个ETL(Extract, Transform and Load)数据抽取、转换、载入工具,ETL工具在数据仓库项目使用非常频繁,kettle也可以应用在以下一些场景:

  • 在不同应用或数据库之间整合数据

  • 把数据库中的数据导出到文本文件

  • 大批量数据装载入数据库

  • 数据清洗

集成应用相关项目是个使用

kettle使用非常简单,通过图形界面设计实现做什么业务,无需写代码去实现,因此,kettle是以面向元数据来设计

kettle支持很多种输入和输出格式,包括文本文件,数据表,以及商业和免费的数据库引擎。另外,kettle强大的转换功能让您非常方便操纵数据。

kettle 安装

下载地址

由于我的平台是mac,有bug,双击不能运行,只能解压后 在终端输入

复制

1
sh spoon.sh

运行spoon

数据转换-导出为Excel

  1. 连接数据库
  2. 导出为Excel

首先下图所示新建一个转换,并设置数据库的连接。

设置完数据库连接之后,就可以设置输入源,这里我们采用数据库中的table作为输入源

设置好输入源可以点击preview先预览数据

设置完输入源 同理将输出源选择excel拖到工作界面,但是先别急着配置输出源,在view栏,添加一个hop,用来连接输入和输出源

这样在配置输出源的时候,在字段的tab就可以直接获取选择要导出的字段

最后点击开始就进行了转换

最后来看下导出的文件

Hello World

好,现在你已经学会了转换,下面我们就来个Helloword实例,这个教程是我在网上看到的,觉得还不错,可以多接触kettle的一些功能,而不像我上面的非常基础。

那么这个helloworld就是针对数据库中的每个人名输出对应的gretting并导出为文件。

首先同理设置输入源,但SQL语句需要修改下,我这里是只选出了他们的名字,按id排列,取前十个。

然后就是写个js脚本自动添加个hello

最后用hop将三个step链接,可以先执行preview看下结果

最后可以看下结果

以上只是演示了数据转换中最基础的几个功能,其他更详细的功能都可以在Design tab中找到 总的来说 kettle的操作逻辑就是 steps + hops,step是你的操作步骤,hops就是链接。

作业 JOB

上面只介绍了kettle的核心功能之一转换,现在要介绍kettle的另一个功能job。

作业其实就是一个自动化流程,当你需要进行多个转换或者要增加一些逻辑控制条件的情况下,就需要job来实现。

这里就根据前面hello world的例子,实现一个简单的job,检测当文件夹内不存在file的时候,就自动从数据库中导出数据并添加hello。

在右侧工具栏找到上图的控件拖进工作区,然后做hop连接,设置一下就行了。操作上和创建转换时类似的,只是将多个创建组合了起来

如下图是配置转换的界面,输入转换的脚本地址

厨房与煎锅

kitchen和pan指令是用于执行作业和转换脚本的命令。

复制

1
2
./kitch.sh -file ./scripts/demo.kjb
./pan.sh -file ./scripts/demo.ktr

以后用spoon设计好的作业和转换只要保存下来,用命令行直接执行就好了,方便许多。

后期有用到新的功能就在更新笔记。

 

运行spoon

数据转换-导出为Excel

  1. 连接数据库
  2. 导出为Excel

首先下图所示新建一个转换,并设置数据库的连接。

设置完数据库连接之后,就可以设置输入源,这里我们采用数据库中的table作为输入源

设置好输入源可以点击preview先预览数据

设置完输入源 同理将输出源选择excel拖到工作界面,但是先别急着配置输出源,在view栏,添加一个hop,用来连接输入和输出源

这样在配置输出源的时候,在字段的tab就可以直接获取选择要导出的字段

最后点击开始就进行了转换

最后来看下导出的文件

Hello World

好,现在你已经学会了转换,下面我们就来个Helloword实例,这个教程是我在网上看到的,觉得还不错,可以多接触kettle的一些功能,而不像我上面的非常基础。

那么这个helloworld就是针对数据库中的每个人名输出对应的gretting并导出为文件。

首先同理设置输入源,但SQL语句需要修改下,我这里是只选出了他们的名字,按id排列,取前十个。

然后就是写个js脚本自动添加个hello

最后用hop将三个step链接,可以先执行preview看下结果

 

最后可以看下结果

以上只是演示了数据转换中最基础的几个功能,其他更详细的功能都可以在Design tab中找到 总的来说 kettle的操作逻辑就是 steps + hops,step是你的操作步骤,hops就是链接。

作业 JOB

上面只介绍了kettle的核心功能之一转换,现在要介绍kettle的另一个功能job。

作业其实就是一个自动化流程,当你需要进行多个转换或者要增加一些逻辑控制条件的情况下,就需要job来实现。

这里就根据前面hello world的例子,实现一个简单的job,检测当文件夹内不存在file的时候,就自动从数据库中导出数据并添加hello。

在右侧工具栏找到上图的控件拖进工作区,然后做hop连接,设置一下就行了。操作上和创建转换时类似的,只是将多个创建组合了起来

如下图是配置转换的界面,输入转换的脚本地址

厨房与煎锅

kitchen和pan指令是用于执行作业和转换脚本的命令。

复制

1
2
./kitch.sh -file ./scripts/demo.kjb
./pan.sh -file ./scripts/demo.ktr

以后用spoon设计好的作业和转换只要保存下来,用命令行直接执行就好了,方便许多。

后期有用到新的功能就在更新笔记。

参考资料

ETL利器Kettle实战应用解析系列一【Kettle使用介绍】

KETTLE使用教程

kettle JOB使用

kettle教程

Kettle中文网

https://ereebay.me/posts/5052/

https://sourceforge.net/projects/pentaho/files/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值