任务5.1-数据合并_第1页
任务5.1-数据合并_第2页
任务5.1-数据合并_第3页
任务5.1-数据合并_第4页
任务5.1-数据合并_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ETL数据预处理技术主讲人:赵美枝任务五数据转换任务5.1数据合并Kettle数据转换可以完成数据合并、排序及运算功能,本节主要学习数据高级转换——运算。数据合并实际应用中,对源文件数据进行转换时,往往采取转换存储格式或数据类型实现,而kettle可以省去文件转换环节,在不改变源文件的基础上,对其数据进行一系列运算,得到所需结果。01.数据集连接02.目录多种不同数据源合并CONTENTS子任务5.1.1数据集连接该控件可以完成多种不同的数据源的横向整合,如Excel文件、文本文件、数据表等,整合后的数据字段会增加,但记录数不会改变在某年级月考结束后,语文、数学、英语老师各自对全班学生的单科成绩进行了统计,现需要将三科成绩合并为一个文件。任务提出:数据准备准备如下三个文件:注意:合并前的各文件需按相同的字段进行排序Step1:创建转换使用Kettle工具,创建一个转换,命名为“多数据转换”,将结果导出为Excel文件形式,分别将Excel文件输入重命名,如下图:

Step2:配置“语文成绩”打开“语文成绩”对话框,先点击“文件或目录”右侧的“浏览”,添加文件所在路径,再单击“增加”,将文件添加到“选中的文件”中。Step2:配置“语文成绩”切换到“工作表”选项卡下,获取工作表的名称为“sheet1”,起始行、起始列均设置为0(这里的设置根据导入的Excel文件中的实际表名和起始行列而定)Step2:配置“语文成绩”切换到“字段”选项卡下,单击【获取来自头部数据的字段】,得到文件中各字段及其属性,如下左图,预览记录如下右图:Step3:配置“数学成绩”重复以上步骤,配置“数学成绩”与“英语成绩”,预览记录如下图:Step3:配置“排序记录”双击“排序记录”控件,打开对话框,在“字段名称”处选择“学号”,设置为升序排序,然后点击“确定”按钮,如下图Step3:配置“排序记录”重复以上步骤,配置“排序记录2”、“排序记录3”Step4:配置“MultiWaymergejoin”打开“MultiWaymergejoin”

对话框,将其改名为“多路数据合并”,设置如下图:

joinStep4:配置“MultiWaymergejoin”【Multiwaymergejoin】组件的参数含义如下表:参数名称说明Stepname表示多路数据合并连接组件名称,在单个转换工程中,名称必须唯一。默认值是【Multiwaymergejoin】的组件名称InputStepN表示合并连接的第N(N=1,2,3,4,…)个输入组件的名称,在下拉框中选择输入组件名称。默认值为空JoinKeys表示对应所在行InputStepN输入组件的连接关键字段。单击所在行的【SelectKeys】按钮,在弹出的对话框中选择字段名称。默认值为空JoinType表示多个源数据表的连接类型。在下拉框中选择连接类型,默认值为INNER。连接类型如下FULLOUTER:连接结果包含来自多个数据源表的所有记录,而不匹配的记录,字段值被系统设为空(null)INNER:只有在多个源数据表中具有相同关键字段值的记录才会包含在连接结果中(内连接)Step4:配置“字段选择”打开“字段选择”对话框,切换到“移除”选项卡下,如下图设置要移除的字段,单击“确定”完成设置Step3:配置“公式”编辑“总分”字段,输入总分的计算公式,如下图,注意此处的符号均为英文符号,单击【ok】按钮完成。Step4:配置“Excel输出”打开“Excel输出”对话框,设置结果文件名如下图:Step4:配置“Excel输出”输出字段如下图:Step5:运行转换查看“步骤度量”,如下左图,发现读取了156条,写入了52条记录,合并后的而部分内容如下右图所示。子任务5.1.2记录集连接记录集连接是将具有相同关键字字段的两个记录进行合并某单位的职工信息如下图,将两个文件合二为一。任务提出:Step1:创建转换使用Kettle工具,创建一个转换,命名为“公式应用”

,并添加“Excel输入”控件、“排序记录”、“记录集连接”、“Excel输出”控件,如下图:Step2:配置“Excel输入”打开“Excel输入”对话框,修改步骤名称为“职工信息1”,,点击“文件或目录”右侧的“浏览”,添加文件所在路径,再单击“增加”,将文件添加到“选中的文件”中。Step2:配置“Excel输入”单击【字段】选项卡中的“获取来自头部数据的字段”,得到相应字段,并将“编号”的类型改为“integer”,单击【确定】完成配置。Step3:配置“Excel输入”重复step2操作,配置“Excel输入2”,将其改名为“职工信息2”,如下图:Step4:配置“排序记录”打开“排序记录”对话框,在字段名称处选择“编号”,设置升序排序,单击【确定】完成配置Step5:配置“排序记录2”打开“排序记录2”对话框,在字段名称处选择“编号”,设置升序排序,单击【确定】完成配置Step6:配置“记录集连接”双击“记录集连接”控件,打开对话框,分别设置“第一个步骤”为“排序记录”,第二个步骤”为“排序记录2”,连接类型默认设置“INNER”,连接字段为“编号”,因为两个文件的关键字为“编号”Step6:配置“记录集连接”【记录集连接】组件的参数包含组件的基础参数和连接字段表参数,有关参数说明如表所示。Step7:配置“Excel输出”双击“Excel输出”控件,打开对话框,设置结果文件名,如左图Step7:配置“Excel输出”切换到【字段】选项卡,单击【获取字段】。此处也可以删除“编号_1”字段,点击【确定】完成设置Step8:运行转换运行转换,打开“职工完整信息.xlsx”,可以看到两个文件的信息均有呈现。Step3:配置“JavaScript代码”这里组件名称用默认值“JavaScript代码”。在【JavaScript】编辑区中,编辑JavaScript脚本如下。var奖牌总数=0;for(vari=0;i<getInputRowMeta().size();i++){varvalueMeta=getInputRowMeta().getValueMeta(i);if(valueMeta.getTypeDesc().equals("Number")){

奖牌总数=奖牌总数+str2num(row[i]);}}Step3:配置“JavaScript代码”单击【获取变量】,字段框中会出现所有字段,选中需要删除的行,右单击然后点击“删除选中的行”,只保留“奖牌总数”,对该字段的设置如左图。单击【确定】按钮完成控件配置。Step4:运行转换单击工作区上方的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论