KETTLE详细设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KETTLE详细设计说明书
V0.1
变更记录
1 Kettle界面介绍
双击Kettle.exe或者Spoon.bat打开Kettle图形界面化如下:
(图1.1)
Kettle中有两类设计分别是:Transformation(转换)与Job(作业),Transformation完成针对数据的基础转换,Job则完成整个工作流的控制。
Kettle常用三大家族:Spoon、Pan、Kitchen。
Spoon:通过图形界面方式设计、运行、调试Job与Transformation。
Pan:通过脚本命令方式来运行Transformation。
Kitchen:通过脚本命令方式来运行Job,一般就是通过调用Kitchen脚本来完成定时任务。
说明:当打开Kettle时显示的是Kettle的相关版本信息与GNU相关协议说明。
(图1.2)
说明:打开Kettle时弹出的窗口提示以资源库方式登录相关信息,关于乌江水电项目工程存储方式是以XML文件方式来进行存储,所以我就直接点击“没有资源库”。
图(1.3)
说明:进入Kettle设计界面。提示关于Spoon相关信息,这里直接点击“关闭”按钮。
(图1.4) 说明:图片中所使用到的字母位置标识说明。
(A):Kettle所使用到的菜单栏。
(B):在使用Kettle时所涉及使用到的对象。
(C):Kettle中所有的组件。
(D):根据选择(B)或者(C)显示相应的结果。
(E):Kettle设计界面。
(图1.5)
说明:
文件:是对Kettle所生成的Job与Trans进行相关的操作,如:新建、打开、保存、导入、导出等相关操作。
(图1.6)
说明:
编辑:是对Kettle当前打开的Job与Trans进行相关的操作,如:复制、撤销、环境变量显示、资源库查看、图形界面自定义调整(颜色、字体、样式)等相关操作。
(图1.7)
说明:
视图:是对Kettle当前打开的Job与Trans进行放大、缩小相关操作。
(图1.8)
说明:
资源库:是对Kettle中所使用到的资源库进行操作,如:资源库连接、断开、当前用户编辑等操作。
(图1.9)
说明:
转换:是对Kettle当前所打开的Trans进行相关测试功能。
(图1.10)
说明:
作业:是对Kettle当前所打开的Job进行操作,如:运行、复制、参数设置等相关操作。
(图1.11)
说明:
向导:是对Kettle当前所打开的Job或者Trans对其进行一步一步的指导性操作。
(图1.12)
说明:
帮助:查看当前Kettle版本相关信息。
2 Kettle数据源连接配置
Kettle中对于数据源有作用域的定义,也就是说有全局数据源与局部数据源两种。
首先打开Kettle UI界面,使用快键方式(Ctrl+N)创建一个转换,新建数据源如下图:
(图2.0) 通过点击“新建”,则出现(图2.1)
(图2.1)
说明:
通过(图2.1)我们可以看到创建数据源时需要配置相应的参数:
Connection Name(必填):配置数据源使用名称,如:wjsd_src
Host Name(必填):数据库主机IP地址,如:192.168.1.254
Database Name(必填):数据库实例名称,如:WJSD
Tablespace for Data(可选):数据表空间名称
Tablespace for indices(可选):数据索引名称
Port Number(必填):端口号
User Name(必填):用户名
Password(必填):密码
Access:选择数据库连接方式,ODBC方式则需要配置系统ODBC,JNDI则使用配置jdbc.properties文件,默认为Native(JDBC)连接方式,。
注:在Kettle中如果在填写框末尾出现$符号标识说明此处可以使用变量参数来定义。
填写好数据库连接信息后,点击“Test”按钮,出现效果如(图2.2)
(图2.2)
说明:
配置成功数据源后默认情况下数据源作用域为局部数据源,如果需要把数据源修改成为全局数据源,则选择数据源wjsd_src右击Share保存即可。
3 Kettle全量抽取
对于纬表、字典表或者是没有时间戳的表,一般我们都采用全量抽取的方式将业务系统库中的数据抽取到数据仓库中。
乌江水电项目需要用到全量抽取的源表有:
下面以CIM下面的d_Reservoir为例详细描述Kettle全量抽取的过程
1、创建转换(Ctrl+N),转换名称为:d_Reservoir
2、创建数据源连接wjsd_src、wjsd_tag,可参考【Kettle数据源连接配置】
3、在Kettle设计盘中拖入“表输入”、“表输出”两个组件即可
4、执行转换对数据进行抽取
5、查看结果是否与数据源中的数据是否一致
步骤1、创建转换
(图3.1)
说明:
当创建转换时点击“核心对象”下方则显示可以在转换中能使用的所有组件。点击“输入”--单击“表输入”把“表输入”组件往空白处拖入即可。
(图3.2)
说明:
双击“表输入”组件弹出(图4.2),输入或选择相应的参数信息。
步骤名称:默认为“表输入”,如果想规范化建议填写源表名称信息,以便清楚查询是某张表结构信息
数据库连接:选择数据来源数据源名称
SQL:编写查询源数据SQL脚本,可以通过“获取SQL查询语句…”获取。
允许延迟转换:强烈建议默认
替换SQL语句里的变量:如果SQL语句中有使用到变量则需要勾选
从步骤插入数据:默认
执行每一行:默认
记录数量限制:0表示默认,如果有特殊需求可以自定义只查询出多少条记录数
注:
1、在SQL语句中一定不能加入分号(;),这是初学者很容易犯错的一个地方。
2、如果无法确定SQL语句是否正常时可以通过“预览”来查看SQL语句是否正确。