kettle使用方法说明文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Kettle使用方法说明文档
1.安装程序
解压pdi-ce-4.0.0-stable.zip到任意盘符,解压后点击根目录下Spoon.bat如下图所示。
点击cancel
2.创建表到表直接抽取
本实例演示的是在Oracle数据库zhwater下的zh用户里面表sys_user转换到本地Oracle数据库orcl下的zw用户下的表sys_user。演示过程是建立transform将数据从zh.sys_user抽取到zw. sys_user 里面。两个表结构相同。
a) 建立转换
进入系统后如下图所示,双击转换。
b)创建源和目标数据库连接
c)建立转换步骤
点开【输入】——>【表输入】将表输入拉到右侧。
双击右侧的表输入,如下图,配置
点开【输出】——>【插入/更新】将其拉到右侧。
按住shift先后左键点击表输入和插入/更新的图标。
双击插入/更新图标,点击【获取字段】和【获取和更新字段】
用来查询的关键字保留主键USERID,其余删掉。
点击确定保存,点击上方验证无错误后,点击执行,如下图。
数据库中可以看到数据已从zh.sys_user抽取到zw.sys_user
D)保存文件
保存文件的文件名不能是中文,文件路径不能包含中文
3.创建带数据聚合的表到表抽取
本实例演示的是在数据库SG186ND下的basic_data用户里面的两个表sc_work_ticket 和t_sc_work_ticket。演示过程是建立transform 将数据从sc_work_ticket抽取到t_sc_work_ticket里面。即模拟基础表到主题表抽取过程。
a) 源数据获取
转换和链接创建过程见上节说明。
将表输入step拉入图中
双击表输入,配置源连接。
b) 数据分组
将【Memory Group by】拖入图中,并按住shift连接表输入和Memory Group by。
点开【Memory Group by】,将基础表中涉及维度的字段加入分组内。需要聚合的度量加入到聚合内,并在名称处重命名为主题表内对应字段名称。
注:此处聚合类型选择
如果为计数则选择【个数】。
如果为通过是否值判断个数,选择【求和】。
如果为累积值,选择【求和】。
c) 时间处理
将【Modified Java Script Value】(在脚本里面)拖入图中,并按住shift连接。
点开【Modified Java Script Value】,将处理时间语句写入。并点击下方的【获取变量】。
注:如果需要进行其他操作(去掉空值,转码等)可在此写js语句进行操作。
d) 更新/插入
将【插入/更新】(在输出里面)拉入到图中,并按住shift连接。
点开【更新/插入】,将查询关键字下方选上维度字段,更新字段下方选上聚合度量。
下图中,month_id是上部js中计算得出。流字段下的前三个字段是第二步【Memory Group by】聚合得出,后三个字段是分组字段。
下图中为抽取的源数据和目标数据。
4.定时抽取设置
a) 建立job
点击【文件】→【新建】→【作业】,如下图将【STRAT】拉入图中。
将【Transformation】拉入到图中,按住shift连接。
点开【Transformation】,将test转换加进去,并重命名job为test。
b) 设置定时抽取
双击【START】,设定自动抽取时间。下图中显示为间隔5分钟自动执行抽取。
点击执行,如下图。
点击【Launch】,执行job。到达指定时间后,自动执行job,然后进行下一次执行等待。如下图。
c) 命令行执行
编写test.bat内容如下
E:\kettle\data-integration\Kitchen.bat /norep /file E:\kettle\test.kjb其中红色部分为安装路径下Kitchen.bat文件所在位置,蓝色部分为job 文件所在位置。
注意:/norep和/file前面都有一个空格。
点击执行即可。会出现下图所示内容,表示执行过一次job,正在等待下次执行时间继续执行,不要关闭cmd窗口即可。