资讯详情

FCRP-D---帆软官网模拟题,kettle模块

1

全量更新:

准备数据:在MySQL创建两个数据库——kettle,kettle_test,kettle中tableA源表,kettle_test中tableB目标表

表输入:

按num升序排序:

插入更新:

效果:kettle转换执行成功,将源表数据全部插入目标表。

增量更新:前两步配置,表输入和排序与全更新相同

两个表的输入配置:不同数据库

合并排序:选择左外链接

过滤记录条件:false什么都不做,true下一步-复制记录结果

再次排序后,选择插入/更新控件,插入目标表:

在源表中添加数据,目标表保持不变

效果:

将执行日志输出并保存到数据库中:

右键单击空白处:

设置完成后,可以看到日志表中的数据进行转换

效果:

从日志表中提取数据elt_log

在转换过程中设置延迟,便于观察和运行数据

观察日志表,enddate转换开始时间,logdate是转换结束的时间

准备sql句子,预览数据发现bug:执行时间未按规定格式显示

SELECT transname as 转换名称, date_format(enddate,'%Y-%m-%d') as 执行日期, timediff(logdate,enddate) as 执行时长 FROM log where logdate=(select max(logdate) from log group by date_format(enddate,'%Y-%m-%d')) group by date_format(enddate,'%Y-%m-%d');

navicat截图正确格式:

添加控件,选择字段,将执行日期转换为正 确的格式

etl_log表输出

效果,19秒是最新的转换执行时间:

新增两个字段记录转换前后的行数-未完成写作思路

在ktr异常情况下,将执行日志发送到指定邮箱:

新建作业:

添加转换:

配置邮箱:

效果:

2


建表

在转换中执行sql脚本判断当前时间不在3:00~12:00之间

update erp set 抽取时间='2022-07-18' where date_format(批处理时间,'%H') not between 3 and 12 and DATE_FORMAT(批处理时间,'%Y-%m-%d')=DATE_FORMAT(now(),'%Y-%m-%d') ;

效果:

3

新建转换:

获取变量:

表输入配置:

新建作业:

设置两个变量:

判断年份是否在范围内:

执行JS实现年月累积的脚本:

var year=new Number(parent_job.getVariable("year")); var month=new Number(parent_job.getVariable("month"));    if(month>12){ parent_job.setVariable("month",1); parent_job.setVariable("year",year 1); true; }else { parent_job.setVariable("month",month 1); true; }

定期调度,每月1日执行一次作业。未实现:每月1日运行上个月的数据

选中start,右键,选择编辑作业入口

效果:日期标志位,不知道是意思,不管它了

标签: ktr自动复位电阻尺ktr微型自恢复直线位移传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台