Kettle作为ETL工具,用于数据的抽取、转换、加载,为数据的整理提供数据采集、 转换、导入、导出等功能。
Kettle中两种脚本
-
transformation——完成针对数据的基本转换
-
job——完成整个工作流的控制
Kettle中的组件
-
spoon——图形用户界面,用于运行kettle中的脚本transformation和job。
-
pan——数据转换引擎,运行transformation工具,主要用于执行数据源读取、操作和写入。
-
kitchen——运行job任务的工具,利用XML或数据源库来描述。
kettle中连接和事务
-
每一个作业项或每一个连接的步骤操作都打开和关闭一个独立的数据库连接。
-
解决打开多个连接的问题,可在连接对话框的选项中,选择【转换放在数据库事务中】,可是所有步骤的数据库连接都使用同一个数据库过程。
Kettle——连接组件
-
multiway merge joi
Multiway Merge Join 用于多张表的联合查询。
-
排序合并
(1) 排序合并的多个输入流,其字段需要完全一致,不能多也不能少;
(2) 排序合并的结果是合并所有结果,不去重。
-
合并记录
合并记录的标志字段:
identical——表示新、旧数据一样,没有发生变化;changed——表示数据发生了变化;
new——表示新数据中有,旧数据中没有;deleted——表示旧数据中有,新数据中没有;
注意事项:
(1)关键字段:用于定位新旧数据源中的同一条记录;
(2)数据字段:用于指定需要比较的字段;
(3)旧数据和新数据拥有相同的字段;