资源描述
此开发文档只是ODS到DW的时间戳增量模型,有个对照表,并没有任何转换。只是一个例子,可以照着做,还涉及一些规范问题,希望大家遵照规范。还有一些根据需求特殊的做法不在此说明。
m_ODS_DW_XXXX_REVOKE
m_ODS_DW_XXXX_LOADER
下面进行对每个组件进行详细说明,希望不会的认真看,有不会的可以问我,我不会的问梁哥。
1. REVOKE过程
1.1SQ :命名:自动生成,不用改
此组件拉源表时自动生成。
(注:此例子是往ODS送数据的例子,可能不送BDBZ位,所以可以这么写)
@不送BDBZ位:where
DATE_SEAL>=to_date('$$VDate','YYYY-MM-DD HH24:Mi:SS') and
DATE_SEAL<to_date('$$$SessStartTime','mm/dd/yyyy hh24:mi:ss')
@由DB抽到ODS,有BDBZ位:where
(BDBZ = 1 or BDBZ = 2) and DATE_SEAL>=to_date('$$VDate','yyyy-mm-dd
hh24:mi:ss') and DATE_SEAL<to_date('$$$SessStartTime','mm/dd/yyyy
hh24:mi:ss')
LOOKUP(找对照表的UNICODE): 命名:LKP_
F(X): 命名:EXP_
新增3个字段:ID,BDBZ,DATE_V(名字自己定义)
ID: :LKP.LKP_FINDID(UNIT_CODE,ZT_CODE,SUB_CODE,SUB_YEAR,ACCOUNTS_MARK_DATE,0)(查找的字段是原来定义的主键+BDBZ位[0])
BDBZ: 2
BDBZ: SETVARIABLE($$VDate,to_char(SESSSTARTTIME,'yyyy-mm-dd HH24:MI:SS'))(是为了给变量赋值)
FILTER: 命名:FIL_
作用:过滤掉ID为空的值。 not ISNULL(id)
1.5 123 命名:SEQ_
作用:提供一串无意义数列,供TC用。
注:RESET 勾要打上。
命名:TC_
IIF(MOD(NEXTVAL,20) = 0, TC_COMMIT_BEFORE, TC_CONTINUE_TRANSACTION)(由于IQ库不太好,默认为20条一抽取。)
LOOKUP : 命名LKP_ 作用:查找ID
此LOOKUP是UNLOOKUP用法,就是没有输入输出连接,相当于一个调用。新建 主键+1个字段(主键+BDBZ)。
设置变量:
2.LOADER过程
2.1 设置变量 跟REVOKE一样 参见 1.7
2.2 SQ 跟REVOKE一样。只不过字段拉的少,要什么就拉什么,其他的可以不拉到下一个组件。只是如果是从DB抽到ODS的,语句应写为:
where
(BDBZ = 1 or BDBZ = 0) and DATE_SEAL>=to_date('$$VDate','YYYY-MM-DD
HH24:Mi:SS') and DATE_SEAL<to_date('$$$SessStartTime','mm/dd/yyyy
hh24:mi:ss')
2.3 LOOKUP 查找UNIT 跟REVOKE过程一样
2.4 F(X) :新增2个字段。BDBZ和DATE_V
BDBZ 置 0
DATE_V 和REVOKE过程一样。
2.5 123: 与REVOKE不一样,作用是给DW库置ID序列,所以不勾上RESET。
2. SEESION:
就不一一叙述了,只是提几个注意的问题,再有别忘了选源和目标的库就行。(注意看图勾的勾,勾了2个勾,建议勾)
REVOKE(别忘了LOOKUP选库)
LOADER(注意LOOKUP选择库和选择LOADER方式)
3. 下面说明一下:1.在各个文件夹做完的MAPPING都要拉到第一个文件夹中,例如:财务绩效_ODS,做完要拉到财务绩效文件夹下,他回自动生成一个SHORTCUT_TO_XXX的MAPPING,然后SEESSION,WORKLET,WORKFLOW都要在这个文件夹下做。
2.WORKFLOW要分抽取周期做(表之间有关系的要按关系连),并且把周期设置上。WORKFLOW要DB-ODS-DW-DM的所有流(没有DB-ODS流的则是ODS-DW-DM)建在一起。
(我的没有DW-DM,就只建了个空的,所以有错误,第一个WORKLET是ODS-DW按YEAR周期抽取的,第二个WORKLET是DW-DM按YEAR周期抽取的)
周期设定方法:
(START TIME可以先不进行设置。这个是按年抽取的)
展开阅读全文