kettle循环导出数据到excel的不同sheet页

1.需求说明
将T_USER表中的数据按照性别进行分类,通过循环控件实现男性用户输出到一个excel的sheet中,女性用户输出到另外一个sheet中。
kettle循环导出数据到excel的不同sheet页
2.整体实现思路
(1)创建一个转换(获取性别信息)查询用户性别表获取性别信息,并设置为变量
(2)通过循环执行数据抽取,分别将性别为“男”和性别为“女”数据抽取出来然后存储到excel表中的不同sheet中。

3.创建“获取性别信息”转换
打开 kettle,点击 文件->新建->转换,在左侧找到表输入(核心对象->输入->表输入),拖到右方;设置表输入控件如下所示。
kettle循环导出数据到excel的不同sheet页
在左侧找到复制记录到结果(核心对象->作业->复制记录到结果),拖到右方。按住shift键将两个步骤连接起来,形成转换如下所示:
kettle循环导出数据到excel的不同sheet页
4.创建“根据性别存储用户数据到excel文件”转换
打开 kettle,点击 文件->新建->转换,在左侧找到表输入(核心对象->输入->表输入),拖到右方;设置表输入控件如下所示。通过性别变量查询用户信息,记得勾选“替换SQL语句里的变量”。
kettle循环导出数据到excel的不同sheet页
在左侧找到Excel输出(核心对象->输出->Excel输出),拖到右方。设置文件名;设置“如果文件已存在”时则“使用现有文件输出”;工作表名使用性别变量
kettle循环导出数据到excel的不同sheet页
设置表输出内容如下所示:
kettle循环导出数据到excel的不同sheet页
按住shift键将两个步骤连接起来,形成转换如下所示:
kettle循环导出数据到excel的不同sheet页
5.创建循环任务
打开 kettle,点击 文件->新建->任务,在左侧找到“开始”,拖到右方;拖入一个转换,设置为“获取性别信息”;再拖入一个“JavaScript脚本”,通过javascript脚本将获得性别列表、列表长度、第一个性别信息设置为变量。

在左侧找到“检验字段的值”(核心对象->条件->检验字段的值),拖到右方。设置检验对象是“变量”,此处我们是对性别数量进行检验,当所有性别信息遍历完成后则完成循环操作,否则继续执行下面步骤。
kettle循环导出数据到excel的不同sheet页
再拖入一个转换,设置“输出到Excel”,然后再拖入一个“JavaScript脚本”,用来更新变量信息。

最后拖入完成标识,用来结束任务,点击执行任务获取结果如下所示:
kettle循环导出数据到excel的不同sheet页

注意:想要学习通过kettle工具实现hive、hbase数据库抽取输出,和其他更多关于kettle的知识,请扫描以下二维码或者链接获取学习资料。
链接地址:

https://edu.51cto.com/sd/e80d0
二维码地址:
kettle循环导出数据到excel的不同sheet页

猜你喜欢

转载自blog.51cto.com/8985332/2497645