源表T_SOURCETABLE初始有两条测试数据
鼠尾粟目标表T_TARGETTABLE初始默认清空
一、按时间戳抽取
首先,我们根据CREATE_DT来进行数据的增量抽取,模拟场景为第一次抽取全部数据,第二次抽取第一次抽取之后新增的数据。
1、MAPPING图如下,主要使用了一个Expression包边带组件:
n2200
2、选择Mappings菜单的参数与变量选项设置变量v_pumpdt 视力保护器3、新建变量$$v_pumpdt, 类型选择变量,数据类型选择 date/time,汇总方式选择MAX。下面的初始值用于第一次全量更新,可以根据实际情况设置,我这设置成01/01/1970 00:00:01。
4、修改SQ组件的过滤方式:
5、可以先用生成SQL按钮自动生成select语句,然后下面增加过滤条件:
where
无线充电ic
T_SOURCETABLE.CREATE_DT>=to_date('$$v_pumpdt','mm/dd/yyyy hh24:mi:ss')
and
T_SOURCETABLE.CREATE_DT<to_date('$$$SESSSTARTTIME','mm/dd/yyyy hh24:mi:ss')
即只过滤出从变量v_pumpdt值到抽取任务执行时间值之间这段时间create的数据。
完成后可以用验证按钮验证语句的准确性。
这里要注意日期时间类型字段的数据格式,由于服务器设置不同可能格式不同,而如果你取到的数据值和你指定的格式不匹配,在后面执行抽取任务时会报错。我这个测试环境的格式是'mm/dd/yyyy hh24:mi:ss'
管线电伴热
6、修改Expression组件,增加一个表达式,把$$v_pumpdt的默认值置为SESSSTARTTIME的值, 这样下次执行时, 则会从这个时间,即上次session执行时间开始算起, 达到个增量的目的。
新增表达式设为date/time型,I、O、V端口这里选择V,设置表达式内容为: