| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
一 数据开发规范/ n6 q: m5 [$ h 
命名标准4 b9 Z9 G. S3 y% d) D9 B& o7 g+ @6 e 
这个命名包含了表命名,项目命名,作业命名等,拿表名来说,一般都是按系统来为首,业务做次之,接着是表名,最后还加上一些备注信息,demo是 系统_业务_表名_备注,比如来自外部互联网的一条用于监控的每日更新的日志表HLW_JK_LOG_RT,不过具体命名以实际业务来定,唯一需要认真的就是无论是表,项目,还是作业资源这一类的命名都要统一一致,方便后续开发以及管理 
  N5 L# o, X8 w. P& N( |脚本规范 
# s  D2 R. T7 V•脚本命名由阿拉伯数字(0~9)、字母(a~z、A~Z)、下划线(_)组成,并以字母开头,其中字母应全部为小写 
& O8 r. D6 ~( ~2 r  b•{分区}_{功能简述},如:贴源区数据同步的shell脚本,ty_sjtb.sh; 
6 @  j& p4 b4 e, Y2 R5 y•需要有规范的脚本描述(头部) 
+ M0 t8 J+ |6 r1 m9 Y8 e$ ]•需要有整齐的缩进格式; F* @7 K; ]' y, ?- c) `$ B 
•脚本里面有详细的注释5 |/ Q; T9 B* t7 i7 \  e 
举例说明* X1 C; J" w: t: {' j  n 
#!/bin/bash) r: i% O& s4 ]. { 
################################################################################& m. Y  L' P7 j" y5 j, O; I  \ 
# SCRIPT_NAME     : xxxx_commit_combine.sh- S( ~7 Y- e; g4 d( n2 ]; {: o2 D5 E1 t 
#: N* f/ C5 i- G& E 
# CREATE_TIME     : 2018/04/10/ e6 l3 t4 N( j, U9 p 
# AUTHOR          : Mochou_liqb 
9 l, H2 G3 z! d2 F# K#" t) c1 ^* R# k& z  h0 t8 E& `; v 
# DESCRIBETION    : get create_table_sql& W/ N3 }, w5 ?" _6 ]" m 
# PARAMETER       : 1 baseConf, such as XX# n- F% [7 ?! P( k. R2 R 
# EXAMPLE         : ./xxxx_commit_combine.sh XX TABLE_NAME 20181212: r1 Z" y& y: b  H 
#  
, D6 x+ [$ X3 m. y# UPDATE_RECORD   : change comments from Chinese to English and kill some bugs9 V4 e" V5 @) K0 \: ` 
#$ {0 I7 f8 t( C7 F# j# x 
# DATE      OPERATION       CZR         DESCRIBETION                 
) H3 N/ u1 K( }# k: x; B! j# ________  _____________   ________    __________________________________1 ?2 G0 P: {9 z- h, O% K. Y7 l, f; t. p9 ? 
# 
$ n6 @# W  T! ~# 2018/12/11  UPDATE Mochou_liqb  # b1 _2 `! ^8 x, [5 x. s 
################################################################################  n# U4 H, Q: u/ |: m 
 
! E" Y5 m% p4 ~# F* Y7 o4 Y+ ?目录规范 
$ Y' c. D. o1 w1 T. N7 L目录是广泛定义下的目录,包含作业,脚本,资源等,目录设置的要求需要按层级按分类逐级增加,理应有正文目录和备份目录,目录命名应简洁清晰统一,便于管理规范 
( m6 H* I) K2 e7 M% O数据开发标准规范) W: p  K5 g9 k0 M. s4 k3 W 
代码对照映射:根据业务整理规范得出,如果是该系统独有的代码表,则特殊处理进行标准4 J+ k. I+ P/ O2 P2 J 
非空字段处理:设置默认值.对于日期、字符类型数据项,暂不做处理,对于数值型字段设置为0 
4 i  ?3 j. \! ^( \* \代码引用字段:对于不能为空的代码字段实际值为空的代码引用字段,默认填写“;对于标准化映射,根据代码对照映射关系,                             查找到当前字段对应的标准代码表,根据原码值和标准码值的对应关系,用标准码值替换原码值9 i$ E: |0 q* ?) i 
日期时间字段:对于字段只需具体到天,其他统一各系统日期/时间字段的格式,在源库找出所有时间字段DATE,TIMESTAMP, 
( l# b% ?8 @1 J  o7 D' h2 H+ G                         式为'YAN-MM-DDHH:MISS,对于不符合格式的字段,使用日期时间函数转换! m6 J2 S% S4 M* L. C 
数值数目字段:统一各系统数字格式,对于金額类型的数据,统一格式为保两位小数;对于利率类统一用小数表示0 Z3 m1 M  O2 B, V' E 
二 平台标准规范( T$ o  `2 s- C$ R; N( c" T 
平台规范主要包含 
0 e  L8 S0 X1 G, N数据类型规范:主要是平台与数据库之间的数据类型映射规范,这个按照每个数据库系统实际规范来规范 
& V1 b, s6 \; O3 [+ x* r实体命名规范:项目,表,文件夹,资源等,参考前面介绍 
- `" ]4 s7 k5 v: W% J作业调度规范:规范和控制作业之间前后依赖关系,从而保证数据按照设计流程进行准确加工;通过虚拟节点进行分级分类,方便作业控制与管理;虚拟节点命名规则:xnjd_etl_{虚拟节点类型};物理节点命名规则:参考数据层命名规范中的作业命名规范; 
3 c# Q  z) w# q, l/ x权限管理规范:权限严格控制,开发,生产项目权限保持界限 
& K" {) J! c5 @) O3 L三 流计算规范5 S- h% n- q) L0 R% R 
流计算由于其数据应用的特殊性,是不走大数据平台的而是有自己的一套采集,规范,开发,应用的流程,这一套流程分别对应不同的工具,平台和数据库,由于各大云平台和云生态,其架构不完全统一,故这方面的规范可实际参考前两者,逐一标准$ c/ O2 c3 d! y( `5 _7 s# [ 
四 运维规范$ v% A* d. Q* U. L, X1 q 
实施运维4 A' \$ h$ e* p* M* c3 A- @" ? 
建立运维机制,每天定时检测平台流程,包括大数据平台,数据库,流计算等并输出运维文档每日提交8 u! p8 Z" j: b" r/ y 
新增数据源依据需求在业务低峰期添加,尽量选择新增作业,做到不影响其他作业运行 
1 {- y) m1 O) X4 {! D8 Z( F流程出现问题及时实施处理,总结汇报,评估代价,并告知下游! i# ^3 z* Y& e) h 
 
5 h! E# {- C, g; P% R% [ |   
 
 
 
 |