您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页SYN同步作业配置过程

SYN同步作业配置过程

来源:测品娱乐
SYN同步作业配置流程:(以TB_MID_BLL_GG_USER_DAY为例)

特别声明:现在的配置都是 测试的配置,完全为测试服务,只有上线时候才会配置完全正式版本,修改起来非常简单,文档中都已经说明,请大家熟知!

首先新建作业,作业名字为SYN_MID_BLL_GG_USER_DAY,所有同步作业都以SYN打头

目录配置为自己需要开发目标,POC为TD开发的目录

然后作业配置

作业配置分为4个步骤

1. TD端清空临时表和错误表,配置登陆信息为TDdtetl,而且建表一定要建立成NO PRIMARY

INDEX 的表,预防重复数据的剔除,不带分区!同步库为PTEMP3,同步只能是空表 例子:CREATE TABLE ${TEMPDB}.SYN_MID_BLL_GG_USER_DAY

AS (SELECT * FROM ${MIDDB}.TB_MID_BLL_GG_USER_DAY ) WITH NO DATA NO PRIMARY INDEX;

配置信息完成记得一定要点击保存,才会生效

2.数据同步,登陆信息无需配置,注意,GG表示没有中文字段的,有中文字段的需要加参数 --无中文字段举例

INSERT INTO PLOG.SYN_DATA_TERADATA_LOG (

DATABASENAME ,TABLENAME ,TX_DATE ,LOAD_TIME

,LOADED_ROW_COUNT ,ERROR_ROW_COUNT )

SELECT 'PTEMP3'

,'SYN_MID_BLL_GG_USER_DAY' ,'$TxDate'

,CURRENT_TIMESTAMP(0) ,SUM(LOADED_ROW_COUNT) ,SUM(ERROR_ROW_COUNT) FROM LOAD_TO_TERADATA(

ON ( SELECT * from PMID3.TB_MID_BLL_GG_USER_DAY WHERE DEAL_DATE='$TxDate'::DATE ) TDPID('sxdw')

USERNAME('dtetl') PASSWORD('dtetl2013')

TARGET_TABLE('PTEMP3.SYN_MID_BLL_GG_USER_DAY')

ERROR_TABLES('PTEMP3.SYN_MID_BLL_GG_USER_DAY_E1','PTEMP3.SYN_MID_BLL_GG_USER_DAY_E2') );

--有中文字段举例

INSERT INTO PLOG.SYN_DATA_TERADATA_LOG (

DATABASENAME ,TABLENAME ,TX_DATE ,LOAD_TIME

,LOADED_ROW_COUNT ,ERROR_ROW_COUNT )

SELECT 'PMID4'

,'TB_MID_PAR_USER_DAY' ,'20140120'

,CURRENT_TIMESTAMP(0) ,SUM(LOADED_ROW_COUNT) ,SUM(ERROR_ROW_COUNT) FROM LOAD_TO_TERADATA( ON ( SELECT * FROM ICONV (ON (SELECT * from PMID3.TB_MID_PAR_USER_DAY)CONV_FORMAT('TD'))) TDPID('sxdw')

USERNAME('dtetl') PASSWORD('dtetl2013')

TARGET_TABLE('PMID4.TB_MID_PAR_USER_DAY')

ERROR_TABLES('PMID4.TB_MID_PAR_USER_DAY_E1','PMID4.TB_MID_PAR_USER_DAY_E2') );

3.TD端作业清洗,配置登陆信息为TDdtetl

特别注意:作业测试的时候目标表为PMID4,作业正式上线时候请改成PMID3参数配置 4.TD作业状态修改,地市库作业插入,下游触发作业插入,配置登陆信息为TDdwetl 涉及表,测试时候一定不要对正式表操作,以免照成严重的后果 DWETL.ETL_JOB(作业表)

DWETL.ETL_JOB_STATUS(同步地市和前端,只有同步地市和同步前端的作业才用) DWETL.ETL_JOB_RECEIVE(触发下游)

特别注意:由于测试原因,暂时把配置登陆信息为TDdtetl,因为他有权限,实际登陆信息为TDdwetl!而参数${ELTDB}对应的是TD端PTEMP3库,作业正式上线会改成DWETL

4个步骤整体配置完成一定要记得保存

具体参考SYN_MID_BLL_GG_USER_DAY,这个作业是按测试流程配置的!上线后会改成正式流程,请大家一定要注意!

第二步的 ASTER同步表只是开发了PTEMP3.TB_MID_BLL_GG_USER_DAY临时同步表 ,数据100条,实际上同步表PMID3.TB_MID_BLL_GG_USER_DAY,正式上线会改正; 详细说明:

INSERT INTO PLOG.SYN_DATA_TERADATA_LOG (

DATABASENAME ,TABLENAME ,TX_DATE ,LOAD_TIME

,LOADED_ROW_COUNT ,ERROR_ROW_COUNT )

SELECT 'PTEMP3'

,'SYN_MID_BLL_GG_USER_DAY' ,'$TxDate'

,CURRENT_TIMESTAMP(0) ,SUM(LOADED_ROW_COUNT) ,SUM(ERROR_ROW_COUNT) FROM LOAD_TO_TERADATA(

ON ( SELECT * from PTEMP3.TB_MID_BLL_GG_USER_DAY WHERE DEAL_DATE='$TxDate'::DATE ) TDPID('sxdw')

USERNAME('dtetl') PASSWORD('dtetl2013')

TARGET_TABLE('PTEMP3.SYN_MID_BLL_GG_USER_DAY')

ERROR_TABLES('PTEMP3.SYN_MID_BLL_GG_USER_DAY_E1','PTEMP3.SYN_MID_BLL_GG_USER_DAY_E2') );

标蓝的部分会改成PMID3.TB_MID_BLL_GG_USER_DAY

第三步的 插入目标表为 测试PMID4,实际为PMID3.正式上线会改正 --删除历史数据

DELETE FROM PMID4.TB_MID_BLL_GG_USER_DAY WHERE DEAL_DATE--删除当前数据

DELETE FROM PMID4.TB_MID_BLL_GG_USER_DAY WHERE DEAL_DATE=CAST('$TxDate' AS DATE FORMAT 'YYYYMMDD');

--数据插入

INSERT INTO PMID4.TB_MID_BLL_GG_USER_DAY

SELECT * FROM ${TEMPDB}.SYN_MID_BLL_GG_USER_DAY;

--删除临时表

DROP TABLE ${TEMPDB}.SYN_MID_BLL_GG_USER_DAY; 标蓝的部分会改成PMID3

第四步的 测试配置登陆信息为TDdtetl,实际为TDdwetl,正式上线会改正

作业触发设置

在aster端,实际作业跑完就会触发同步作业,现在先配置好就可以,触发开关已经关闭

作业上线

前3步作业配置完成,就可以上线作业了。但是,现在的统一是先不上线,先在作业维护中测试通过,然后在上线前把参数配置都改成正式上线的配置,最后上线。(上线一但完成,将会自动同步!)

备注:

一共开发了3个作业,在测试配置下都跑的成功,达到预期效果

测试每个作业前一定要删除PTEMP3.ETL_JOB_RECEIVE 这个表,否则有可能报错,因为去ID的MAX的值会加1 正式上线需要做:

SYN_MID_BLL_GG_USER_DAY 需要修改配置信息和参数配置以及同步表

SYN_MID_BLL_GG_USER_MON 需要修改配置信息和参数配置以及同步表,还要配置触发,但考虑到数据量很大,有可能要分作业!

SYN_MID_BLL_GG_USER_MON 需要修改配置信息和参数配置以及同步表,还要配置触发 风险:

触发作业的插入是同一时刻,是否都能触发,需要割接时候在正式库测试一次!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务