kettle将数据库表按某字段分组导出到不同的excel
摘要:本文介绍了使用Kettle工具将学生数据按班级导出到不同Excel文件的方法。首先创建测试数据表并插入示例数据,然后分三步操作:1)创建第一个转换获取班级名称;2)建立主作业流程并配置变量传递;3)创建第二个转换实现分班导出,重点说明变量配置方法(STU_CLASS变量)和Excel输出设置。最终实现按班级名称生成独立Excel文件的功能
1、需求示例
将全年级学生按班级分到不同的excel,excel名称使用班级名称。
2、准备数据
create table test_table_to_excels(stu_name varchar2(50),stu_class varchar2(20));
insert into test_table_to_excels values ('小明','一班');
insert into test_table_to_excels values('小红','一班');
insert into test_table_to_excels values('小黄','二班');
insert into test_table_to_excels values ('小白','二班');
insert into test_table_to_excels values('小黑','三班');
3、kettle操作
3.1新建第一个转换
名命1.ktr,提取班级名称,需要两个组件
(1) 转换如下图所示
(2) 配置表输入组件
填写数据库连接,sql处取班级唯一值
如下图所示:
(3) 复制记录到结果组件
无需配置,目的是将上一步的结果复制到内存,准备下一步骤使用
3.2 新建主作业流程
(1) 作业流程图如下所示
(2) 配置第一个转换
双击转换,在浏览处选择3.1建立的转换,如下图所示
(3) 转换2暂不设置,在3.3处说明
3.3 新建第2个转换,名命2.ktr
(1) 转换如下图所示
(2) 第一个组件表输入配置,如下图所示
其中 STU_CLASS是变量,此变量配置是重点,主要在两处配置,详见下面(3)点
(3) STU_CLASS变量配置
第一,回到主作业,在主作业点转换2,配置转换2,如下图
其中STU_CLASS是变量名,stu_class是第一个转换sql中的列名。
第二,回到转换2,在转换空白处右击,在转换属性处,设置变量
变量配置完成。
(4)excel输出配置
此处获取字段时,如果获取不全,需要手工添加缺失的字段。
3.4 执行结果

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)