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/
如果您想及时得到个人撰写文章以及著作的消息推送,可以扫描上方二维码,关注个人公众号哦。