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,双击不能运行,只能解压后 在终端输入 复制
运行spoon 数据转换-导出为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指令是用于执行作业和转换脚本的命令。 复制
以后用spoon设计好的作业和转换只要保存下来,用命令行直接执行就好了,方便许多。 后期有用到新的功能就在更新笔记。 |
运行spoon
数据转换-导出为Excel
- 连接数据库
- 导出为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 ETL工具的使用方法,涵盖数据转换、作业自动化及命令行执行等功能,适合初学者快速掌握Kettle核心操作。
1828

被折叠的 条评论
为什么被折叠?



