2.3. DS20
2.3.1. Introduction
DS20主要完成将第一步DS10处理之后的数据进行简单的处理之后生成一些关键字段的ID_KEY。比如IP_ID,AR_ID等。
主要STAGE包括:
2个Sequential File(DS20的输入和输出文件)。
2个Transformer(一个输入文件的Trim和简单校验,一个生成各种ID_KEY)。 一个InterProcess(连接2个Transformer)。
2.3.2. 参数
$PATH_WRK_XXXX:中间处理文件及最终文件存放路径 DATE:处理日当日日期
注:参数命名请参考《CZB-ETL-DESIGN-V1.1.DOC》
2.3.3. STAGE流程 2.3.3.1. 流程方向说明
DS10后的处理文件“TODAY_CHANGE”到Transformer“VALIDATE”进行Trim和简单校验; VALIDATE经过InterProcess到GENERATEKEY进行ID_KEY的生成; a. 示例图
2.3.3.2. STAGE属性
a. TODAY_CHANGE
Outputs的sheet中General界面的“File name”填入第一步DS10种最后一步所生
成的文件(即与DS10的TODAY_CHANGE一致),命名参考
《CZB-ETL-DESIGN-V1.1.DOC》。
其他部分与“DS10”的“TODAY_CHANGE”Stage一致
b. VALIDATE
将左上部分“CHG_2_VALI”的字段全部选中拖拽到右上部分的VALI_2_PROC中。
除了KEY外其他字段都进行Trim处理。 电话字段需加入“ValidatePhone”,日期字段需调用函数(如AcmsToDateFormat)将该日期转成DW所需的标准格式“YYYY-MM-DD”,时间字段亦此。
c. INTERPROCESS
处理方式与DS10中的“TODAY_INS/TODAY_UPD”Stage一致
d. GENERATEKEY
先将左上部分“PROC_2_GENKEY”的全部字段拖拽到右上部分; 通过映射文档统计需要查询ID_KEY的字段。比如需要电话的LOID,工作地址的LOID,
客户的IP_ID,操作员的IP_ID等;这些新的DS 表结构需要保存,后期有可能用到。保存遵循 规范《CZB-ETL-DESIGN-V1.1.DOC》。
在右上部分的“StageVariables”表里增加变量,将统计出来的所需ID的变量放入,表左半部分的“Derivation”则根据映射文档中的函数填入,如下图:
在ST2_T中的Column Name中增加字段,将查询到的各个ID值也放入到Stage文件里,如下图:
e. CHANGE_KEY
Outputs的sheet中General界面的“File name”填入生成ID_KEY之后的文件,命名参考《CZB-ETL-DESIGN-V1.1.DOC》
其他部分与“DS10”的“TODAY_CHANGE”Stage一致。
注:这里又在原表的基础上新增了各个ID_KEY的字段。
2.4. DS30
上图是DS30的范例,名称:IND_INFO_DS30,存放路径:Jobs\\01_SRC\\0102_ACMS\\IND_INFO,命名规则和存放路径参考文档《CZB-ETL-Design-V1.1.doc》。
这个JOB的功能是代码表转换、文件拆分,最终生成BDW 准实体SSA文件。 规则是从源文件IND_INFO_SK通过Split得到目标文件IND_INFO_SPLIT。其中IND_INFO_SK是由IND_INFO_DS20产生的,Split是一个Transformer,在其中制定拆分规则,IND_INFO_SPLIT标识产生的目标文件,文件可能有多个。其拆分规则需要参照 ETL Mapping 规则文档。
2.4.1. 定义参数
如下图,进入JOB的Job Properties。
选择Parameters标签,填入需要定义的参数。
上图是我们需要的参数。工作路径($PATH_WRK_ACMS$)是环境变量,点击右下方的”Add Environment Vaiable”选择,不同的源系统需要选择不同的环境变量。W_DT表示数据日期,不带分割符。C_DT表示SSA文件内使用的数据日期,有分隔符。SRC_STM_ID表示源系统ID,JOB_SEQ_ID表示任务序号。
2.4.2. 定义入口文件
在该范例中即定义IND_INFO_SK,如下图。