文档详情

kettle使用方法说明文档.doc

发布:2017-05-25约1.7千字共22页下载文档
文本预览下载声明
Kettle使用方法说明文档 安装程序 解压pdi-ce-4.0.0-stable.zip到任意盘符,解压后点击根目录下Spoon.bat如下图所示。 点击cancel 创建表到表直接抽取 本实例演示的是在Oracle数据库zhwater下的zh用户里面表sys_user转换到本地Oracle数据库orcl下的zw用户下的表sys_user。演示过程是建立transform将数据从zh.sys_user抽取到zw. sys_user里面。两个表结构相同。 建立转换 进入系统后如下图所示,双击转换。 创建源和目标数据库连接 建立转换步骤 点开【输入】——【表输入】将表输入拉到右侧。 双击右侧的表输入,如下图,配置 点开【输出】——【插入/更新】将其拉到右侧。 按住shift先后左键点击表输入和插入/更新的图标。 双击插入/更新图标,点击【获取字段】和【获取和更新字段】 用来查询的关键字保留主键USERID,其余删掉。 点击确定保存,点击上方验证无错误后,点击执行,如下图。 数据库中可以看到数据已从zh.sys_user抽取到zw.sys_user D)保存文件 保存文件的文件名不能是中文,文件路径不能包含中文 创建带数据聚合的表到表抽取 本实例演示的是在数据库SG186ND下的basic_data用户里面的两个表sc_work_ticket 和t_sc_work_ticket。演示过程是建立transform将数据从sc_work_ticket抽取到t_sc_work_ticket里面。即模拟基础表到主题表抽取过程。 源数据获取 转换和链接创建过程见上节说明。 将表输入step拉入图中 双击表输入,配置源连接。 数据分组 将【Memory Group by】拖入图中,并按住shift连接表输入和Memory Group by。 点开【Memory Group by】,将基础表中涉及维度的字段加入分组内。需要聚合的度量加入到聚合内,并在名称处重命名为主题表内对应字段名称。 注:此处聚合类型选择 如果为计数则选择【个数】。 如果为通过是否值判断个数,选择【求和】。 如果为累积值,选择【求和】。 时间处理 将【Modified Java Script Value】(在脚本里面)拖入图中,并按住shift连接。 点开【Modified Java Script Value】,将处理时间语句写入。并点击下方的【获取变量】。 注:如果需要进行其他操作(去掉空值,转码等)可在此写js语句进行操作。 更新/插入 将【插入/更新】(在输出里面)拉入到图中,并按住shift连接。 点开【更新/插入】,将查询关键字下方选上维度字段,更新字段下方选上聚合度量。 下图中,month_id是上部js中计算得出。流字段下的前三个字段是第二步【Memory Group by】聚合得出,后三个字段是分组字段。 下图中为抽取的源数据和目标数据。 定时抽取设置 建立job 点击【文件】(【新建】(【作业】,如下图将【STRAT】拉入图中。 将【Transformation】拉入到图中,按住shift连接。 点开【Transformation】,将test转换加进去,并重命名job为test。 设置定时抽取 双击【START】,设定自动抽取时间。下图中显示为间隔5分钟自动执行抽取。 点击执行,如下图。 点击【Launch】,执行job。到达指定时间后,自动执行job,然后进行下一次执行等待。如下图。 命令行执行 编写test.bat内容如下 E:\kettle\data-integration\Kitchen.bat /norep /file E:\kettle\test.kjb其中红色部分为安装路径下Kitchen.bat文件所在位置,蓝色部分为job文件所在位置。 注意:/norep和 /file前面都有一个空格。 点击执行即可。会出现下图所示内容,表示执行过一次job,正在等待下次执行时间继续执行,不要关闭cmd窗口即可。
显示全部
相似文档