一、转换
转换是ETL解决方案中重要的组成部分之一,它主要用于数据的抽取、转换以及加载等操作,其本质是一组图形化的数据转换配置的逻辑结构。一个转换包括一个或多个步骤,例如读取文件、过滤输出行、数据清洗或将数据加载到数据库中等步骤。转换中的步骤是通过跳来连接的,跳定义了一个单向通道,允许数据从一个步骤向另一个步骤流动。在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。
实例:实现从数据库中读取数据,并把数据写到文本文件中
1.创建转换
双击Kettle目录下的Spoon. bat脚本,启动Kettle工具,在工具栏处选择“文件”→“新 建”→“转换”命令,创建一个转换,名称默认是“转换1”。然后选择“文件”→“保存”命令,可以对转换进行重命名以及选择转换保存路径,重命名转换为example。如图所示:
2.设计转换操作及效果展示
主对象树中的节点主要用于显示当前转换的运行配置参数、数据库连接、步骤以及节点连接等信息。单击Kettle树形列表的核心对象,切换到转换的核心对象界面。
在Kettle主界面的工作区右击空白处,从弹出的快捷菜单中选择“新建注释”命令,并添加注释的内容;然后单击“输入”,将“表输入”拖拽到Kettle的工作区;单击“输出”,将“文本文件输出”也拖拽到Kettle的工作区;按住Ctrl键的同时选中“表输入”和“文本文件输出”并右击,从弹出的快捷菜单中选择“新建节点连接”命令,在弹出的窗口中选择“起始步骤”和“目标步骤”,单击“确认”按钮,建立“表输入”向“文本文件输出”的连接,具体效果如图:
二、作业
目前,大多数的ETL项目都需要完成各种各样的维护工作。例如,如何传送文件、验证数据库中的数据表是否存在等操作,这些操作都必须按照一定顺序完成,由于转换是以并行方式执行的,因此需要一个可以串行执行的作业来处理这些操作。一个作业包含一个或者多个作业项,并且这些作业项都是以某种顺序来进行执行的。作业执行的顺序由作业项之间的跳(Job Hop)和每个作业项的执行结果来决定。
实例:将数据加载到数据仓库
1.创建作业
双击Kettle目录下的Spoon. bat脚本,启动Kettle工具,在工具栏处选择“文件”→“新 建”→“作业”命令,创建一个转换,名称默认是“作业1”。然后选择“文件”→“保存”命令,可以对作业进行重命名以及选择转换保存路径,作业重命名转换为example_job。具体如图所示:
2.设计作业操作及效果展示
主对象树中的节点主要用于显示当前作业的运行配置参数、数据库连接以及作业项目等信息。单击Kettle树形列表的核心对象,切换到作业的核心对象界面。作业核心对象包含Kittle所有的作业项(或作业控件),后续设计作业操作可直接到作业核心对象中查找所需的作业项。
在Kettle主界面的工作区右击空白处,从弹出的快捷菜单中选择“新建记录”命令,并添加注释的内容;然后单击“通用”,将“作业”和Start依次拖拽到Kettle的工作区;单击“邮件”,将“发送邮件”也拖拽到Kettle的工作区;然后同时选中“作业”和Start并右击,从弹出的快捷菜单中选择“新节点”命令,建立Start和“作业”之间的连接,再通过相同的操作将“作业”与“作业”、“作业”与“发送邮件”之间也建立连接、具体效果如图。