1. 建立【多路数据合并连接】转换工程。

(1) 创建多路数据合并连接转换工程。使用Ctrl+N快捷键,创建【多路数据合并连接Multiway merge join】转换工程。

kettle java代码 List kettle in list_数据

 

(2) 创建Excel输入和排序记录组件,分别导入月考语文成绩、数学成绩和英语成绩,并进行排序。 ① 创建【Excel输入】组件,并命名组件名称为“语文成绩”,导入“月考语文成绩.xls”文件,设置参数并预览数据;同理,将数学和英语成绩导入

kettle java代码 List kettle in list_数据_02

kettle java代码 List kettle in list_参数设置_03

 

kettle java代码 List kettle in list_参数设置_04

 预览数据如图

kettle java代码 List kettle in list_数据_05

kettle java代码 List kettle in list_excel_06

 

kettle java代码 List kettle in list_kettle java代码 List_07

 2. 设置【多路数据合并连接】参数。

(1) 接着配置【排序记录】组件,再分别由【成绩】组件指向【排序记录】组件,建立节点连接,设置排序参数,对“学号”字段进行排序。单击工作区上方预览的图标,分别预览【语文成绩排序】【数学成绩排序】英【语成绩排序】的排序结果,分别如图所示。

kettle java代码 List kettle in list_数据_08

(2)创建【Multiway merge join】组件和连接。在图【多路数据合并连接Multiway merge join】转换工程中,单击【核心对象】选项卡,展开【连接】对象,选中【Multiway merge join】组件,并拖曳到右边工作区中,并由【语文成绩排序】【数学成绩排序】【英语成绩排序】组件分别指向【Multiway merge join】组件,分别建立3个节点连接,如图所示。

kettle java代码 List kettle in list_数据_09

 

① 【Input Step1】参数设置为“语文成绩排序”,同一行的【Join Keys】参数设置为“学号”。也可以单击同一行【Select Keys】按钮,弹出【Join keys】对话框,在【Keys】表中的第1行,单击【Key Field】下的第一个输入框,在下拉框中选择“学号”,单击【确定(O)】按钮,添加“学号”字段名称至【Join Keys】参数中,如图所示。

kettle java代码 List kettle in list_参数设置_10

 ② 与步骤①类似的操作,【Input Step2】参数设置为“数学成绩排序”,同一行的【Join Keys】参数设置为“学号”。

③ 与步骤①类似的操作,【Input Step3】参数设置为“英语成绩排序”,同一行的【Join Keys】参数设置为“学号”。

(3)创建字段选择控件,选择从合并表中取出学号,姓名,成绩等项,配置如图

kettle java代码 List kettle in list_etl_11

 (4)选择计算器控件,配置计算出每个学生的总成绩

kettle java代码 List kettle in list_参数设置_12

 3. 预览结果数据。

单击上方运行按钮,查看结果

kettle java代码 List kettle in list_数据_13