kettle高级转换 您所在的位置:网站首页 kettle设置日期变量 kettle高级转换

kettle高级转换

2023-09-01 08:41| 来源: 网络整理| 查看: 265

一,记录集连接

1.简单介绍                  记录集连接是将具有相同关键字字段的两个记录表进行合并。

                案例:某年级的月考成绩分散在“月考语文成绩.xls”“月考英语成绩.xls”两个文件中, 为了统计学生考试成绩的总分,需要使用记录集连接组件,将成绩数据合并在一 起,并计算出总分。

        2.建立转换并添加控件                 “语文成绩”,“英语成绩”控件位Excel输入控件,“语文成绩排序”和“英语成绩排序”为

          排序记录控件。

 

3.配置各控件

                (1)双击进入语文成绩控件,点击浏览找到“月考语文成绩.xls”“月考英语成绩.xls”两个 文件,并点击增加,具体如下图

  点击工作表,添加工作表,用于浏览数据,具体如下

 

 点击字段,获取字段,具体如下

 预览数据

 

(2)英语成绩控件和语文成绩控件的具体配置一样,这里不再做演示。

(3)双击进入语文成绩排序控件,按照学号将数据进行升序排序,具体配置如下。

 

 (4)英语成绩排序和语文成绩排序配置一样,再不做演示。

(5)双击进入记录集连接控件,具体配置如下。

 

(6)计算器控件,双击进入,添加一个新字段“totle”,计算公式选择"A+B",字段A设置为

 语文,字段B设置为英语,值类型设置为Number,具体如下。

 (7)字段选择控件,双击进入,添加如下字段,具体如下图。

 配置结束

4.保存运行

 从上图可以清楚看到,它合并了语文成绩和英语成绩,并计算出了总分。

二,多路数据合并连接

1.简单介绍                 记录集连接是两个记录集的合并,而3个及以上的记录集,采用多路数据合并连接的方式。多路数据合并连接英文名称为Multiway merge join,是对多个记录集的合并,效率更高,速度更快。

                案例:由于某次月考成绩分散在“月考语文成绩.xls”“月考英语成绩.xls”“月考数学成绩.xls”3个文件中,为了统计学生语数英的考试分数,需要使用多路数据合并连接组件,合并这3个文件的成绩数据,并计算总分。

        2.建立转换并添加控件                 “语文成绩”,“英语成绩”,“数学成绩”控件为Excel输入控件,“语文成绩排序”,“英语成绩排序”,"数学成绩排序"为排序记录控件,“多数据合并”控件为Multiway merge join控件。

 

3.配置各控件                 (1)“语文成绩”,“英语成绩”,“数学成绩”三个控件的配置和记录集连接中的配置是一样

        一样的,这里不再演示。

                (2)“语文成绩排序”,“英语成绩排序”,"数学成绩排序"三个控件的配置和记录集连接中

        的配置是一样的,这里不再演示。

                (3)多数据合并控件,双击【Multiway merge join】组件,弹出【Multiway merge join

        】对话框,进行参数设置,【Input Step1】参数设置为“语文成绩排序”,同一行的【Join

        Keys】参数设置为“学号”。也可以单击同一行【Select Keys】按钮,弹出【Join keys】对话

       框,在【Keys】表中的第1行,单击【Key Field】下的第一个输入框,在下拉框中选择“学

       号”,单击【确定(O)】按钮,添加“学号”字段名称至【Join Keys】参数中,如图所示。

 

 

【Multiway merge join】组件的参数包含【Step name】组件名称、Input StepN

      (N=1,2,3,…)输入组件名称、【Join Keys】连接关键字(Input StepN与【Join Keys】参

        数需两两配对)和【Join Type】连接类型参数。

(4)计算器控件,双击进入,添加一个新字段“totle”,计算公式选择"A+B+C",字段A设置

           为数学,字段B设置为英语,字段C设置为语文,值类型设置为Number,具体如下。

   (5)字段选择控件,双击进入,添加如下字段,具体如下图。

  (6)排序记录控件,对过滤后的数据按照学号进行一个升序,具体如下。

 4.保存运行

 三,单变量统计

 1.简单介绍                 单变量统计是对数据进行单个变量的数据统计,以字段为单变量,可以分别对多个字段进行数据统计,统计类型有N(统计数量)、最小值、最大值、平均值、样本标准差、中位数和任意百分位数等。

                案例:在“2018年上学期期末考试成绩.xls”文件中,为了了解学生考试的统计数据,对语文和数学两门主科进行数据统计,使用单变量统计组件,分别统计学生的考试人数、最低分、最高分、平均分和中位数等。

 2.建立转换并添加控件

 

3.配置各控件

  (1)Excel输入控件再上面的案例中都已经介绍,在这里不再演示,只给出获取字段部分。

 (2)单变量统计控件,双击进入控件,具体配置如下。

 

四.公式               1.简单介绍                 公式是用来计算数据流中数据的表达式。公式可以是“A+B”这样的简单计算,也可以是类似“if/then”复杂业务逻辑判断的表达式。

案例:在某年级的“2019年11月月考成绩.xls”文件中,为了统计成绩以表彰优秀的学生,需要使用公式组件,统计学生所有考试科目的总分,并对总分650分以上的学生评优标注“优秀”。

        2.建立转换并添加控件

 

3.配置各控件

                (1)Excel输入控件再上面的案例中都已经介绍,在这里不再演示,只给出获取字段部分。

 (2)公式控件:双击进入控件,在公式框中编辑公式(点击公式框,会弹出如下窗口),具体如下。

 

 4.保存运行

 

五.利用Janino计算Java表达式           1.简单介绍                 Janino是一个超小型,超快的Java编译器,Kettle可以利用Janino提供类和对象,定义Java表达式来计算新值。

  案例:在某年级的“2020年4月月考成绩.xls”文件中,为了了解学生的考试情况,需要采用利用Janino计算Java表达式组件,统计每个学生月考成绩的总分,并按照四舍五入的方法,计算每个学生的平均分。

        2.建立转换并添加控件

 

3.配置各控件

(1)  Excel输入控件再上面的案例中都已经介绍,在这里不再演示,只给出获取字段部分。

 (2)利用Janino计算Java表达式控件:双击进入控件,具体配置如下。

 4.保存运行

 

六.JavaScript代码         1.简单介绍                 Kettle提供用户界面,可采用JavaScript脚本编程修改数据。

                案例:在某年级的“2020年4月月考成绩.xls”文件中,为了了解每个学生考试的总分,需要使用JavaScript代码组件,统计每个学生月考成绩的总分等。

        2.建立转换并添加控件

3.配置控件

Excel控件,点击浏览,添加文件,具体如下。

 

接着点击工作表,进入后,点击下方获取工作表名称,将其添加,具体如下。

 点击字段,获取字段,具体如下。

 点击预览

 

 

  Java Script控件,点击进入控件,填写代码和配置下方字段,具体如下

var 总分=0; for (var i=1;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有