最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

全球热消息:快速上手kettle(四)壶中可以倒出些啥?

来源:博客园
目录
  • 前言
  • 一 、kettle 这壶里能倒出啥?
  • 二 、Access输出
    • 2.1 Access输出设置
    • 2.2 启动转换,查看输出
  • 三 、Excel输出
    • 3.1 选择excel扩展名
    • 3.2 1 将表中数据分别写入到excel中
  • 四、JSON output
    • 4.1 JSON output设置
    • 4.2 生成json文件
  • 五、SQL文件输出
    • 5.1 sql文件输出控件设置
    • 5.2 启动转换,生成备份文件
  • 六、表输出
    • 6.1 表输出设置
    • 6.2 启动转换
  • 七 、删除
    • 7.1 删除控件设置
    • 7.2 执行转换,查看数据
  • 八、更新
    • 8.1 根据id,将表一t_br001 中的数据更新到表二t_br002 中
    • 8.2 启动转换,更新t_br002表中的数据
  • 九、插入/更新
    • 9.1 插入/更新 控件设置
    • 9.2 执行转换,查看结果
  • 十、文本文件输出
    • 10.1 文本文件输出控件设置
    • 10.2 启动转换,查看输出
  • 十一、XML output
    • 11.1 xml文件输出设置
    • 11.2 启动转换,查看输出

前言

通过前面的文章中我们对kettle这把“” 做了简单介绍,并对“” 里能装些啥也具体说了下。

大家应该对kettle这把壶有了整体的认知,本篇文章我们就来说一说kettle通过对各种数据加工后,

能倒出来什么?


【资料图】

一 、kettle 这壶里能倒出啥?

启动kettle新建转换-->核心对象-->输出中我们能看到经过各种加工后也是能倒出来各种五花八门的数据。

具体的可以参照下面截图

-- kettle 加工出来的-- kettle 加工出来的

一眼看过去很多都能见名知意,文章不一一介绍每个输出控件,我们只挑其中常用控件进行说明。

说明: 前面的文章中,我们没有具体说哪个输入对应着哪个输出,而是分别介绍了常用输入。

因为输入控件可以和输出控件进行自由搭配,只要你喜欢就可以进行 Excel输入-->表输出Excel输入-->插入/更新

文本文件输入-->表输出等等 各种自由搭配

今天为了方便,我们大部分就以表输入作为输入来一一说明输出控件

表输入配置如下,在配置表之前我们需要配置DB连接(这个在之前文章中说过这里不再赘述)

二 、Access输出

我们可以将MySQL表中的数据转换成Access输出

2.1 Access输出设置

2.2 启动转换,查看输出

-- 生成新的Access文件--

三 、Excel输出

细心的小伙伴可能会发现在输出控件中又两个Excel输出,一个是Excel输出,另一个是Microsoft Excel输出。

它们的区别就是Excel输出只能输出xls文件(适合Excel2003),Microsoft Excel输出可以输出xls和xlsx文件(适合Excel2007及以后)

3.1 选择excel扩展名

--Excel输出--Microsoft Excel输出

3.2 1 将表中数据分别写入到excel中

-- 新建转换-- 生成文件

四、JSON output

json文件我们之前也说过了,这小节我们要做的就是将MySQL里的数据转换成json文件

4.1 JSON output设置

-- json输出路径设置-- 获取字段

4.2 生成json文件

-- 生成文件-- 文件内容

五、SQL文件输出

将表中的数据转换为sql备份文件

5.1 sql文件输出控件设置

-- 一般设置-- 内容设置

5.2 启动转换,生成备份文件

-- 生成文件-- 备份文件内容

六、表输出

表输出控件可以将kettle数据行中的数据直接写入到数据库中的表

6.1 表输出设置

-- 表输出设置-- 创建表

6.2 启动转换

-- 上一步中点击执行后创建了新表--新表中插入了数据

注意:这里有个小坑,如果表字段中包含中文可能会出现乱码。我们需要做如下设置

-- ①点击编辑-- ② 设置编码

七 、删除

删除控件可以删除数据库表中指定条件的数据,般用此控件做数据库表数据删除或者跟另外一个表数据做对比,然后进行去重的操作

接下来我们根据bookid 进行比较,删除目标表t_books_bak中id在 t_books中的数据

-- t_books-- t_books_bak

从表中数据我们可以看出 bookid 相同的是 10001,10002,10005 这三条数据

7.1 删除控件设置

7.2 执行转换,查看数据

八、更新

更新是将数据库表中的数据和数据流中的数据做对比,如果不同就更新,如果数据流中的数据比数据库表中的数据多,那么就报错。

我们准备两张表的数据

-- t_br001-- t_br002

8.1 根据id,将表一t_br001 中的数据更新到表二t_br002 中

-- 表输入设置-- 更新设置

8.2 启动转换,更新t_br002表中的数据

注意:如果数据流中的数据比数据库表中的数据多,如下图所示

-- t_br001-- t_br002

由于更新控件在数据不对等的情况下会报错,所以下一小节中 插入/更新输出控件做了优化

九、插入/更新

根据条件对数据流和数据库表中的数据进行比较,如果不同就更新,如果数据流中的数据比数据库表中的数据多,就插入

我们就以上一节中的两个表为例子,来进行插入/更新

-- t_br001-- t_br002

9.1 插入/更新 控件设置

-- 表输入设置--

9.2 执行转换,查看结果

转换完成后,我们发现t_br002表中根据id比较后更新了一条数据,插入了一条数据

十、文本文件输出

将数据输出成文本的控件,我们发现输出控件中没有csv输出控件,其实csv是逗号分隔符的一种文本文件

本小节我们就根据表输入转换输出为txt,csv 文件

10.1 文本文件输出控件设置

-- csv文本文件设置-- csv文本文件设置分隔符
-- txt 文本文件设置--

10.2 启动转换,查看输出

----

十一、XML output

本小节我们将表中数据转换为xml文件

11.1 xml文件输出设置

----

11.2 启动转换,查看输出

-- 生成xml文件-- xml内容

本期内容介绍了kettle 的各种输出控件,希望对你有所帮助,本期内容就到这,我们下期再见 (●"◡"●)

关键词: