需求描述
ETL1表增量同步ETL2表数据,需要将ETL2表中时间大于ETL1表中最大时间的数据同步到ETL1表中。
操作步骤
软件版本信息:DMETL V5.0
示例表信息如下:
CREATE TABLE ETL1 (ID INT,SJ1 DATETIME);
CREATE TABLE ETL2 (ID INT,SJ2 DATETIME);
INSERT INTO ETL1 VALUES(1,SYSDATE);
INSERT INTO ETL2 VALUES(10,SYSDATE);
INSERT INTO ETL1 VALUES(2,SYSDATE);
INSERT INTO ETL2 VALUES(11,SYSDATE);
INSERT INTO ETL1 VALUES(3,SYSDATE);
INSERT INTO ETL2 VALUES(12,SYSDATE);
INSERT INTO ETL2 VALUES(13,SYSDATE);
COMMIT;
在这个流程创建完成后,可以通过手动添加ETL2表的数据来验证整个流程作业调度是否正常。
1、工程-新建变量
新建一个变量名为test的变量,变量值表达式这里设置为null(也可以是其他值)。如下图
2、工程-新建转换
新建转换TEST1,双击转换TEST1进入设计器界面中。
2.1 转换-新建数据源-数据库
“右键”-“新建数据库数据源” DM8_35和DM8_35_dest,并"右键对应数据源"-“添加表”。如下图:
2.2 转换-添加SQL查询
新建"SQL查询",从右边导航栏中"数据读取"中将"SQL查询"拖拽到设计器中。
选择对应"数据源"并添加SQL语句,然后"获取列信息",其中${test}为调用test变量。如图:
2.3 转换-列转换
从右边导航栏中"数据转换"中将"列转换"拖拽到设计器中,并连上连接线。
将"SQL查询"中ETL2表的输出列名与ETL1表中的列名匹配相同,ETL2表中列名为"SJ2",ETL1表中列名为"SJ1",所以需要对输出列的列名进行转换,转换为与目的表相同。
2.4 转换-添加目的表
从右边导航栏中"数据装载"中将"表"拖拽到设计器中,并连上连接线。
选择对应的数据源数据集,启用插入更新,添加"查找列",如图:
保存流程配置,Ctrl+s或者设计器上的保存按钮。
3、工程-新建作业
右键"作业"-“新建作业”,双击作业"job1",进入到作业设计流程中。
3.1 作业-添加设置变量
从右边导航栏中"脚本"中将"设置变量"拖拽到设计器中,双击图标-添加变量,配置变量信息。
在设置变量这里,使用的是将SQL语句查询的值赋值给变量test,在配置SQL语句时需要指定"数据源"和"SQL语句"
如图:
3.2 作业-添加转换
从右边导航栏中"引用"中将"转换"拖拽到设计器中,并连上连接线。双击图标进入配置。
选择转换"TEST1"
保存流程配置,Ctrl+s或者设计器上的保存按钮。
在"作业"设计器上点击执行按钮或者按R ,运行整个流程。
4、工程-新建调度
新建调度"D1",配置调度类型策略。
5、为作业配置调度
在作业一般信息界面,选择"配置调度",选择刚刚配置的调度"D1"。如图:
6、启用调度引擎
DMETL5.0中默认调度引擎是停止状态,需要手动启动。
7、查看流程执行日志
DMETL 5可以在"监控"-"监控管理"中查看流程运行状态以及流程日志
更多资讯请上达梦技术社区了解:https://eco.dameng.com