DataStage作业开发规范V23.docx

上传人:b****8 文档编号:9987548 上传时间:2023-02-07 格式:DOCX 页数:18 大小:262.93KB
下载 相关 举报
DataStage作业开发规范V23.docx_第1页
第1页 / 共18页
DataStage作业开发规范V23.docx_第2页
第2页 / 共18页
DataStage作业开发规范V23.docx_第3页
第3页 / 共18页
DataStage作业开发规范V23.docx_第4页
第4页 / 共18页
DataStage作业开发规范V23.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

DataStage作业开发规范V23.docx

《DataStage作业开发规范V23.docx》由会员分享,可在线阅读,更多相关《DataStage作业开发规范V23.docx(18页珍藏版)》请在冰豆网上搜索。

DataStage作业开发规范V23.docx

DataStage作业开发规范V23

 

DataStage开发规范

北京先进数通信息技术有限公司

2007年11月

文档信息

标题

DataStage开发规范

创建日期

2007-11-4

文件名

DataStage开发规范V2.3.doc

存放目录

作者

陈博

修订记录

日期

描述

作者

2007-11-09

修改了SQFSTAGE的命名以及参数命名

陈博

1.布局规范

布局应自左向右,自上而下,层次分明,布局协调,主要的数据流为从左到右成直线(单一输入输出)或成扇形(多输入输出),次要数据流为自上到下成直线(单一输入输出)或成扇形(多输入输出),STAGE与STAGE之间应留有足够的空间展示STAGE之间连接线上的信息。

单主要输入输出,如下图:

多主要输入输出如下图:

2.注释规范

作业的头上须表明作业加工的档名,下方须表明作业加工逻辑,

所有的属性中须注名作业的作者,及设计思路。

对设计的流程做适当的说明以便让人更易理解,如上图。

3.datastage命名规范

注意事项:

⏹Stage的命名全部使用英文,参数注释也必须使用英文。

⏹Job中使用Annotationstage来做模块说明可以使用中文注释。

⏹命名规范为:

三位大写字母表示stage的类型+小写字母组成的其它信息。

⏹所有的输入、输出以及HASH文件均采用参数赋值,参数名与Sequentialfile的命名类似。

3.1Sequentialfile输入输出分隔符

输入输出的分隔符号格式如下图:

3.2Project命名

分成两个Project,一个用于开发odsdvlp,一个用来管理已经完成的作业:

odsver。

3.3Job目录的命名

根据实施阶段的不同来命名job的目录。

在odsdvlp中:

1.逻辑模型设计目录

在Jobs下建立目录logicmodel。

再在logicmodel目录下建立不同源系统的目录,用于存放逻辑模型设计阶段的各个源系统的job,并且作业名后缀为“_lgc”。

2.物理设计目录

在Jobs下建立目录physicmodel。

再在physicmodel下建立不同源系统的目录。

用于存放物理模型设计阶段的各个源系统的job,并且作业名后缀为“_phy”。

3.个人目录

在Jobs下,建立目录test,test中为每个人创建一个私人用来做调试的目录。

3.4Job的命名

3.4.1按功能划分的job命名

此种job的命名是针对一项任务拆分成为了多个job的命名方式

格式:

●逻辑模型阶段:

Systemname_targetsystemname_tablename_jobtype_lgc

●物理模型阶段:

Systemname_targetsystemname_tablename_jobtype_phy

说明:

系统名(与业务系统不属于一个概念)

说明

bcv

数据源(INFORMIX数据库)

fs

文件服务器

sdm

标准层

fdm

基础模型层

待补充

Systemname:

源系统的名称

Targetsystemname:

目标系统名

Tablename:

目标系统的表名称

Jobtype:

job的任务类型

Jobtype

说明

Ex

抽取(Extract)

Tr

公共代码转换(Transform)

Ld

加载(Load)

FTP

传输(FTP)

待补充

3.4.2单独流程的job命名

此种job的命名是针对一个任务在一个job中就全部完成的命名方式。

格式:

●逻辑模型阶段:

srcsystemname_targetsystemname_tablename_lgc

●物理模型阶段:

srcsystemname_targetsystemname_tablename_phy

说明:

Srcsystemname源系统名称

Targetsystemname目标系统名称

tablename目标系统表名

3.5Stage的命名

StageName

命名

说明

Aggregator

AGG_description

聚合

DB2/UDBAPI(DB2/UDBEnterprise)

DB2_tablename

DB数据表,其中tablename为表名

FtpEnterprise(ftpplug-in)

FTP_direction_filename

FTP,其中direction为ftp的方向,get为下传,put为上传,filename为生成的文件名

Merge

MRG_description

数据合并

ODBCdataaccess

ODB_tablename

ODBC数据表,其中tablename为表名

OracleOCI

ORA_tablename

Oracle数据表,其中tablename为表名

InformixCLI

INF_业务系统名_tablename例如:

从CBS采集数据到文件服务器:

inf_cbs_t_srm_itm_dict

Informix数据表,其中tablename为表名

Sequentialfile

卸数阶段,只会有一个输出文件,命名为:

SEF_业务系统_原表表名_属性。

从文件系统取数据,加工到SDM,只会有一个输入文件,命名同卸数的输出:

SEF_业务系统_原表表名_属性。

WARING和REJECT文件,只出现在从文件系统取数据,加工到SDM,命名为:

SEF_业务系统_原表表名_属性_wr/rj。

业务系统包括:

CBS、PBS、CMMS、ATMP

属性包括:

ADD、ALL

文件操作,参见上面的文件命名规范

Systemname为源系统的名称

Table为操作文件数据的表名称

增量全量标志为All:

全量

Add增量,

del-删除文件。

如果存在跨系统的生成的目标文件,源系统名填写输入主表对应的系统

Hashfile

HASH_业务系统_原表表名_属性。

注:

在此次项目中不会出现

Sort

SRT_description

数据排序

Transformer

TRF_description

数据转换

由于需要根据输入、输出文件的stage的名称进行数据平衡跟踪以及,故输入输出文件的stage命名必须严格按照上述的规范。

3.6Link的命名

格式:

LK_description

说明:

LK为link的简称,所有的link命名都使用LK作为头。

如Sequentialfile的link指向一个lookup。

则link命名为LK_description

注意:

1.如果一个stage只有一个link的输入,则不需要填写Description,只需要填写link的序号。

2.如果一个stage有多个link的输入或输出,则需要填写Description。

Description的填写方式要体现link的主从关系。

为主键的link的Description填写master,其他的link填写subject+序号。

例如一个joinstage有2个link的输入,主的link为LK_left,另一个link为LK_right。

如一个filterstage有两个输出(分别是性别是男的和女的的输出),则一个link命名为LK_male,另一个link命名为LK_female等。

3.7Routine命名

格式:

RT_functionname

说明:

functionname为Routine的功能描述

3.8DATASTAGE中TableDefinition命名

ETL过程中的TableDefinition共有以下几类:

3.8.1Source

格式:

source/systemname/tablename

sdm/systemname/tablename

fdm/systemname/tablename

说明:

systemname为源系统简称

tablename为源表名

3.8.2Target

格式:

systemname/target/tablename

说明:

systemname为目标系统简称

tablename为目标表名

3.9DATASTAGE中Schema命名

格式:

$PATH_CFG/schema/systemname_tablename.osh

说明:

systemname为源系统简称

tablename为源表名

3.10Storeprocedure程序命名

格式:

systemname_functiondescription

说明:

systemname为系统简称

functiondescription为存储过程的功能说明,如果存储过程是为了加载某张表,则直接使用表名,如果该存储过程只是为计算某一特定字段,则可用该字段名表示,如果是同时计算多个字段,则独立命名

3.11ShellScript程序

格式:

systemname_scriptdescription

说明:

systemname为系统简称

scriptdescription为shell脚本的功能说明

3.12SQLScript程序

格式:

systemname_scriptdescription

说明:

systemname为系统简称

scriptdescription为sql脚本的功能说明

3.13Reject文件的相关规范

文件命名:

WARING和REJECT文件,只出现在从文件系统取数据,加工到SDM,命名为:

业务系统_原表表名_属性_wr/rj。

业务系统包括:

CBS、PBS、CMMS、ATMP

属性包括:

ADD、ALL

Reject的内容:

长度不对的数据

3.14控制文件的相关规范

文件命名:

[目标文件名]_ctl.xml

内容规范:

(举例)

xmlversion="1.0"encoding="ISO8859-1"?

>

开发样例:

(参考samplejob:

hdfile_sample_xml)

3.15就绪文件的相关规范

文件命名:

[target_system]_[source_system]_xxx_READY_yyyymmdd.xml

内容规范:

xmlversion="1.0"encoding="ISO8859-1"?

>

FF1010_0001_XXX_20060121_000.dat

2344560

117729

所有的输入、输出文件均采用参数赋值,参数名与Sequentialfile的命名类似。

4.参数规范

所有的输入、输出文件、WARING文件以及REJECT文件均采用参数赋值,参数名与Sequentialfile的命名相同。

Hash文件:

同于HASHFILESTAGE的命名

Hash文件做匹配的字段需要做去空处理

日期采用par_date

以下关于数据库的参数,采用环境变量,用户自定义的参数:

数据库:

$DB

数据库密码:

$DB_PASSWD

数据库用户:

$DB_USER。

5.目录规范

开发、测试环境的目录如下:

目录名

说明

/PATH_HOME/bin

执行程序目录

/PATH_HOME/etc

配置文件目录

/PATH_HOME/sql

sql脚本目录

/PATH_HOME/script

引用的脚本目录

/PATH_HOME/tools

通用工具目录

/PATH_HOME/datastage

DS的project相关目录

/PATH_HOME/log/yyyymmdd

日志目录

/PATH_HOME/file

数据文件目录

/PATH_HOME/file/wr

存放目录WARING文件

/PATH_HOME/file/sdm/

存放标准层落地文件

/PATH_HOME/file/fdm/

存放模型层落地文件

/PATH_HOME/home/file/fs/

存放FS文件

/PATH_HOME/file/rj

Reject文件目录

/PATH_HOME/file/hash

hash目录

其中file内的目录层次以及目录内的文件命名如下表示:

/PATH_HOME/file/fs/cbs/20071011/cbs_源系统的表名_all_20071011.dat

/PATH_HOME/file/sdm/cbs/20071011/cbs_sdm_sdm的表名_all_20071011.dat

/PATH_HOME/file/fdm/crd/20071011/sdm_fdm_相应主题的表名_20071011_all.dat

hash文件如下:

/PATH_HOME/file/hash/fdm/crd/20071011/sdm_fdm_对应sdm的表名_20071011_all.dat

rj文件如下:

/PATH_HOME/file/rj/cbs/20071011/cbs_源系统的表名_all_rj_20071011.dat

Wr文件如下:

/PATH_HOME/file/wr/cbs/20071011/cbs_源系统的表名_all_wr_20071011.dat

6.公共参数、环境变量说明

6.1通用参数

系统环境变量

Ø静态环境参数(dsproject)

环境变量名

解释

类型

PATH_HOME

主目录

String

PATH_DATA

数据存放主目录

String

PATH_DATA_IN

输入数据目录

String

PATH_DATA_OUT

输出数据目录

String

PATH_DATA_TEMP

中间数据目录

String

PATH_DATA_DATASET

dataset数据目录

String

PATH_LOG

日志目录

String

PATH_CFG

配置文件目录

String

PATH_BIN

执行程序目录

String

PATH_TOOLS

工具目录

String

PATH_SQL

sql脚本目录

String

PATH_SCRIPT

其他脚本目录

String

SDM_DB

数据库

String

SDM_DB_USR

数据库用户

String

SDM_DB_PWD

数据库密码

Encrypted

CBS_DB

CMS_DB

……

Ø动态运行参数

参数变量名

解释

类型

par_date

运行日期

String

par_branch9

9位分行号

String

par_branch3

3位分行号

String

par_yyyy

四位年

String

par_mm

两位月

String

par_dd

两位日

String

par_yy

两位年

String

par_m

一位月(1-9,10-A,11-B,12-C)

String

par_t

每月的第几旬

String

par_yesterday

昨日

String

par_btype

业务类型

String

6.2参数管理、使用

Ø环境参数由系统管理员通过DATASTAGEADMINISTRATOR进行统一维护;

Ø作业开发人员,在开发时定义job的公共变量、私有变量,并将私有变量填写到最新《*********作业设计模版.xls》;

Ø作业调度人员通过填写后的《*********作业设计模版.xls》配置生成作业调度的配置表(jobsequence登记表);

Ø系统管理员根据填写后的《*********作业设计模版.xls》生成作业参数配置文件;

Ø公共组件设计人员根据作业参数配置文件进行相关参数的读取、传递

Ø每一个job必须引入5个环境变量值:

$APT_CONFIG_FILE$ODS_DB$ODS_DB_USER$ODS_DB_PWD$PATH_HOME

6.3参数传递

日常运行:

Ø作业调度主控根据jobsequence的登记表按照一定业务规则动态生成runcycle的执行控制文件/表(包括内容:

数据日期,jobsequence名,前置jobsequence名,schedule,执行状态等);

Ø作业调度根据runcycle的执行控制文件/表进行调度,并传递相关的数据日期参数;

ØJobsequence的前处理作业读取“作业参数配置文件”并进行相关参数的组装,并判断相关依赖文件的到达情况,传递作业的参数调用相关job;

 

附录1.SAMPLE

附录2.《关于开发环境使用及注意事项》

为规范项目组开发环境使用及保证项目组高效完成开发任务,现将开发环境分配情况及使用中注意事项公布,请项目组成员遵照执行。

开发环境:

分组

开发主机

开发用户

Project

注意事项:

1、各组开发人员请使用分配的开发用户及项目,对于各个Project中的公共部分(表定义、公函、备份等)请各个小组指定专人进行维护。

2、对于每个开发环境下的目录请按照规范使用,不得擅自建立、删除目录。

开发Job请在指定目录进行。

3、开发人员完成分配任务后,可将完成的Job或者TableDefine从工具中Export出来进行提交,禁止导出整个Project。

4、开发完成的任务请开发人员主动提交到各个小组负责人处,各个小组负责人审核开发人员提交的任务完成情况,确认无误后提交到项目组版本管理员。

项目组正式版本的管理工作由版本管理员进行。

5、开发人员每日将阶段的成果(job)导出,并提交CC进行版本管理。

 

注意事项:

1、通常一个Project中,Job数量控制在300~500个左右以内。

2、每个Job中,Stage最多控制在15个左右以内。

3、与工程无关的文件尽量不要放在工程目录里,不然对以后备份及版本控制都不利。

4、在Job开发作业时,尽量用4个客户端去操纵数据,不要到后台去手工操纵数据,这样属于非法操作,将带来不必要的麻烦

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1