| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
一 数据开发规范 
; C. X& S$ k$ u/ N) d$ V1 g, I: @% a" D命名标准 
: m  O! z. b* k. p. @) F% N  b这个命名包含了表命名,项目命名,作业命名等,拿表名来说,一般都是按系统来为首,业务做次之,接着是表名,最后还加上一些备注信息,demo是 系统_业务_表名_备注,比如来自外部互联网的一条用于监控的每日更新的日志表HLW_JK_LOG_RT,不过具体命名以实际业务来定,唯一需要认真的就是无论是表,项目,还是作业资源这一类的命名都要统一一致,方便后续开发以及管理 
+ K1 C. k2 k/ f$ {2 R+ I' ~8 d 
- d* [& |$ ^0 j* W脚本规范 
) h: Z; w  y( `4 z( k•脚本命名由阿拉伯数字(0~9)、字母(a~z、A~Z)、下划线(_)组成,并以字母开头,其中字母应全部为小写1 [7 _% l- x4 y! L3 s 
•{分区}_{功能简述},如:贴源区数据同步的shell脚本,ty_sjtb.sh; 
# F6 J0 P; d& J  I•需要有规范的脚本描述(头部) 
/ T' J4 x4 Z# ?1 Y$ g•需要有整齐的缩进格式 
0 _' r, |& N+ N0 j. k' h+ t7 u•脚本里面有详细的注释+ E' f' l, B, z8 |2 S! u, m$ H: l 
举例说明- r4 P' [' }7 M7 _. K( } 
 
. u/ n; q; ^. Y  n- V$ x1 R#!/bin/bash 
) h- L; h1 h8 ]* r- @################################################################################5 R3 M1 G$ C8 S6 g* L$ ~ 
# SCRIPT_NAME     : xxxx_commit_combine.sh% ?( e% U8 ~+ R# M2 o$ a/ y 
# 
7 C- N# H8 l2 [  }3 z7 [2 l0 e7 _+ d# CREATE_TIME     : 2018/04/10 
% ^( E! U; ^3 V# AUTHOR          : Mochou_liqb; W7 o3 ^' h! `( M- d+ C 
#) E& a2 F- d" X7 J$ e( E 
# DESCRIBETION    : get create_table_sql! w( k& J9 n- p) d 
# PARAMETER       : 1 baseConf, such as XX 
8 F  [1 }5 p) |2 }* ^6 E# EXAMPLE         : ./xxxx_commit_combine.sh XX TABLE_NAME 20181212 
! |2 C; M' x! A9 D# + F: p3 P1 B4 \8 b 
# UPDATE_RECORD   : change comments from Chinese to English and kill some bugs 
+ p" k: F& g% b! z' }& q# 
. b* j% \& A5 k$ q7 W. R+ v- ^( O# DATE      OPERATION       CZR         DESCRIBETION                              $ E& b/ T1 E- f1 u+ f" e" V: m 
# ________  _____________   ________    __________________________________ 
5 A2 v9 n$ b+ s/ H% n# 
+ J* C, `8 a8 q) Z5 u4 N$ S4 T# 2018/12/11  UPDATE Mochou_liqb   
9 L: E- N  D. M% U/ l  e: l################################################################################6 {( [, v( h8 f( A# J/ g 
 
7 h+ B# p8 v- e9 d- a4 S2 A- L( w5 X2 m8 i; c, ]7 D 
目录规范 
1 q( m0 j' o5 n9 m6 {: K目录是广泛定义下的目录,包含作业,脚本,资源等,目录设置的要求需要按层级按分类逐级增加,理应有正文目录和备份目录,目录命名应简洁清晰统一,便于管理规范 
5 J7 m% n* c' R9 W7 O2 H6 D" l1 _3 c( W& p  S 
数据开发标准规范) F- @+ O: q+ v% M4 H# a 
代码对照映射:根据业务整理规范得出,如果是该系统独有的代码表,则特殊处理进行标准 
7 l1 S* `) Z- j( T! X' m6 j非空字段处理:设置默认值.对于日期、字符类型数据项,暂不做处理,对于数值型字段设置为0/ _* K7 A- C0 C( s- E  Z 
代码引用字段:对于不能为空的代码字段实际值为空的代码引用字段,默认填写“;对于标准化映射,根据代码对照映射关系,                             查找到当前字段对应的标准代码表,根据原码值和标准码值的对应关系,用标准码值替换原码值 
* J* y9 [& }5 w7 p! t5 V日期时间字段:对于字段只需具体到天,其他统一各系统日期/时间字段的格式,在源库找出所有时间字段DATE,TIMESTAMP,6 f- F* A! F, i, [5 T: F) B) `9 D- C 
                         式为'YAN-MM-DDHH:MISS,对于不符合格式的字段,使用日期时间函数转换 
. \1 s$ T* H6 O7 H; e& r数值数目字段:统一各系统数字格式,对于金額类型的数据,统一格式为保两位小数;对于利率类统一用小数表示 
% F+ Q& Z$ B6 ]) W: f# }* u# k; A  j6 I& n 
二 平台标准规范$ J/ ?$ B4 {) Y: C1 E2 [ 
平台规范主要包含 
* H7 l9 D: ?; `  F4 }+ F  }( D3 @' Q! q% [ 
数据类型规范:主要是平台与数据库之间的数据类型映射规范,这个按照每个数据库系统实际规范来规范. l3 G0 A7 ]4 y$ h; [, Y- c- O% y 
实体命名规范:项目,表,文件夹,资源等,参考前面介绍 
3 O% P/ v: U' [5 i作业调度规范:规范和控制作业之间前后依赖关系,从而保证数据按照设计流程进行准确加工;通过虚拟节点进行分级分类,方便作业控制与管理;虚拟节点命名规则:xnjd_etl_{虚拟节点类型};物理节点命名规则:参考数据层命名规范中的作业命名规范; 
+ ^9 a+ p, Z0 o" {$ ~权限管理规范:权限严格控制,开发,生产项目权限保持界限 
' L8 |( K. a: s# I三 流计算规范& O/ l, d3 u0 X 
流计算由于其数据应用的特殊性,是不走大数据平台的而是有自己的一套采集,规范,开发,应用的流程,这一套流程分别对应不同的工具,平台和数据库,由于各大云平台和云生态,其架构不完全统一,故这方面的规范可实际参考前两者,逐一标准 
% r! y, [. H' _+ M, O: X' F1 l4 \! D- c) R0 _ 
四 运维规范9 n* a* r' Z$ [' M: ]/ m1 h+ U& d' H: Q 
实施运维 
, F8 P/ N2 Z: R! F  s 
( F( Q+ j" p( r( s建立运维机制,每天定时检测平台流程,包括大数据平台,数据库,流计算等并输出运维文档每日提交* ~5 Z! ~! w0 B9 @' g 
新增数据源依据需求在业务低峰期添加,尽量选择新增作业,做到不影响其他作业运行 
2 {* p. t0 p, ~6 e流程出现问题及时实施处理,总结汇报,评估代价,并告知下游! A4 h# L/ L; o! J) ^+ b 
 
3 k  Q$ v9 \! N1 l: a9 {& h* \  Q) L, h& x 
 |   
 
 
 
 |