专栏首页别先生kettle的应用组件 、流程组件、查询组件、连接组件、统计组件、映射组件、脚本组件

kettle的应用组件 、流程组件、查询组件、连接组件、统计组件、映射组件、脚本组件

1、应用是转换里面的第五个分类。应用都是一些工具类。

1.1、替换NULL值就是把null转换为其它的值。NULL值不好进行数据分析

1.2、写日志主要是在调试的时候使用,把日志信息打印到日志窗口。

2、流程是转换里面的第六个分类。流程主要用来控制数据流程和数据流向。

2.1、Switch/case让数据流从一路到多路。

2.2、过滤记录让数据流从一路到两路。

2.3、空操作一般作为数据流的终点。在kettle的sample例子中经常使用,但是实际开发中很少使用。

2.4、中止是数据流的终点,如果有数据到这里,将会报错。用来校验数据的时候使用。

3、查询是转换里面的第七个分类。查询是用来查询数据源里的数据并合并到主数据流中。

3.1、HTTP client是使用GET的方式提交请求,获取返回的页面内容。

3.2、自定义常量数据是用来生成一些不变的数据。

指定常量数据。

3.3、数据库查询就是数据库里面的左连接。左连接就是两张表执行左关联查询,把左边的表数据全部查询出来。

3.4、数据库连接,可以执行两个数据库的查询,和单参数的表输入。

3.5、流查询,在查询前把数据都加载到内存中,并且只能进行等值查询。

4、连接是转换里面的第八个分类。连接是结果集通过关键字进行连接。

4.1、合并记录是用于将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据,该步骤将旧数据和新数据按照指定的关键字匹配、比较、合并。主要用于新旧数据的对比,非常好使的哦!

  1)、需要设置的参数:     1.1)、旧数据来源:旧数据来源的步骤。     1.2)、新数据来源:新数据来源的步骤。   2)、标志字段:设置标志字段的名称,标志字段用于保存比较的结果,比较结果有下列几种。     2.1)、 "identical",旧数据和新数据一样。     2.2.)、"changed" ,数据发生了变化。     2.3.)、"new", 新数据中有而旧数据中没有的记录。     2.4)、 "deleted",旧数据中有而新数据中没有的记录。   3)、关键字段:用于定位两个数据源中的同一条记录。     3.1)、比较字段:对于两个数据源中的同一条记录中,指定需要比较的字段。     3.2)、合并后的数据将包括旧数据来源和新数据来源里的所有数据,对于变化的数据,使用新数据代替旧数据,同时在结果里用一个标示字段,来指定新旧数据的比较结果。   4)、注意:     4.1)、旧数据和新数据需要事先按照关键字段排序。     4.2)、旧数据和新数据要有相同的字段名称。

4.2、记录关联,就是对两个数据流进行笛卡尔积操作。

4.3、记录集连接就像数据库的左连接、右连接、内连接、外连接。注意:在进行记录集连接之前,应该要对记录集进行排序。

5、统计是转换里面的第十三个分类。统计是提供数据的采样和统计功能。

5.1、分组是按照某一个或某几个进行分组,同时可以将其余字段按照某种规则进行合并。注意:分组之前数据应该进行排序!

6、映射是转换里面的第十八个分类。映射是用来定义子转换,便于封装和重用。

6.1、映射(子转换),是用来配置子转换,对子转换进行调用的一个步骤。子转换可以让相同的业务功能进行重用,抽取出来,方便进行调用。

6.2、映射输入规范,是输入字段,由调用的转换输入。

6.3、映射输出规范是向调用的转换输出所有列,不做任何处理。

7、脚本是转换里面的第七个分类。脚本就是直接通过程序代码完成一些复杂的操作。

7.1、Javascript脚本,就是使用javascript语言通过代码编程来完成对数据流的操作。JS中有很多内置函数,可以在编写JS代码时查看。

存在两种不同的模式:不兼容模式和兼容模式。不兼容模式:是默认的,也是推荐的。兼容模式:兼容老版本的kettle。

 1 1)、javascript脚本-获取字段
 2 不兼容模式:
 3 myVar = FieldName;
 4 
 5 兼容模式:根据字段类型的不同,使用不同的方法:
 6 myVar = FieldName.getString();
 7 myVar = FieldName.getNumber();
 8 
 9 
10 2)、javascript脚本-给字段赋值
11 不兼容模式:直接使用字段名,如
12 FieldName = myVar;
13 
14 兼容模式:使用 
15 FieldName.setValue(myVar);
16 
17 
18 3)、javascript脚本-在脚本中使用java类
19 不兼容模式:
20 var myVar = new java.lang.String(“pentahochina.com”);
21 
22 兼容模式:
23 var myVar = new Packages.java.lang.String (“pentahochina.com”);

Javascript脚本,就是使用javascript语言通过代码编程来完成对数据流的操作。

7.2、java脚本就是使用java语言通过代码编程来完成对数据流的操作。内置了很多函数可以直接使用。

  Java脚本Main,Main函数对应一个processRow()函数,processRow()函数是用来处理数据流的场所!

7.3、执行SQL脚本可以执行一个update语句,用来更新某个表中的数据。

作者:别先生 博客园:https://www.cnblogs.com/biehongli/ 如果您想及时得到个人撰写文章以及著作的消息推送,可以扫描上方二维码,关注个人公众号哦。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • kettle的转换组件

    1、转换是转换里面的第四个分类。转换属于ETL的T,T就是Transform清洗、转换。ETL三个部分中,T花费时间最长,是一般情况下这部分工作量是整个ETL的...

    别先生
  • kettle的基础概念入门、下载、安装、部署

      答:ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,...

    别先生
  • mybatis_generator_逆向工程的使用笔记

    1:解压mybatis_generator_1.3.1.zip文件。 2:把features,pougins文件夹copy到D:\java\eclipse\ec...

    别先生
  • 创意玫瑰图(Rose chart)

    今天跟大家分享的图表是创意玫瑰图! ▽▼▽ 这种图表形似玫瑰,故而得名,其效果与我们常用的饼图,圆环图及雷达图类似。 ? 可以反映数据结构的比例、大小,但因其形...

    数据小磨坊
  • 深度学习的核心:掌握训练数据的方法

    Hello World! 今天我们将讨论深度学习中最核心的问题之一:训练数据。深度学习已经在现实世界得到了广泛运用,例如:无人驾驶汽车,收据识别,道路缺陷自动检...

    企鹅号小编
  • 让ICO服务实体经济促进融合发展,掘金大数据,“三农”产业大有可为 | 大咖周语录

    随着大数据时代的来临,面向数据开放、共享、融合的又一次信息化浪潮方兴未艾。挖掘大数据的价值,发挥大数据的效用,前提是要做好数据资源的共享开放。“三农大数据”是大...

    数据猿
  • 风起云动 四点让云计算引发全球变革

    技术的进步来自源源不断的创新,而我们的日常生活和工作也会被这些创新所改变。从移动互联到智能设备,创造性和实用性并存的设备不断调整我们的行为。而这一趋势依然存在,...

    静一
  • 为什么说,随波逐流是成为一个数据科学英雄最大的阻碍

    如果你集齐算法,业务,计算机知识这三颗龙珠,那么你就可以召唤一个小一点儿的“神龙”了。

    大数据文摘
  • 教你三分钟写个Xposed模块

    了解Android开发的同学可能听说过Xposed,它的强大可以说是只有你想不到的,没有它做不到的功能。 举个例子, 它可以修改系统的IMEI,手机号,甚至可以...

    PhoenixZheng
  • 常见面试算法:Logistic回归、树回归

    Logistic 回归 或者叫逻辑回归 虽然名字有回归,但是它是用来做分类的。其主要思想是: 根据现有数据对分类边界线(Decision Boundary)建立...

    机器学习AI算法工程

扫码关注云+社区

领取腾讯云代金券