|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一 数据开发规范
- t5 Y6 @ H, ~; e- U O命名标准
2 _& x4 M( u% o8 k这个命名包含了表命名,项目命名,作业命名等,拿表名来说,一般都是按系统来为首,业务做次之,接着是表名,最后还加上一些备注信息,demo是 系统_业务_表名_备注,比如来自外部互联网的一条用于监控的每日更新的日志表HLW_JK_LOG_RT,不过具体命名以实际业务来定,唯一需要认真的就是无论是表,项目,还是作业资源这一类的命名都要统一一致,方便后续开发以及管理
2 M- n9 ?. `0 d; _ ^8 c" L" q$ s脚本规范5 K$ B& Y$ x) J) P, |4 a
•脚本命名由阿拉伯数字(0~9)、字母(a~z、A~Z)、下划线(_)组成,并以字母开头,其中字母应全部为小写
: `% C$ q7 B$ k8 |•{分区}_{功能简述},如:贴源区数据同步的shell脚本,ty_sjtb.sh;6 q! J- q+ v5 W) O, V! ]
•需要有规范的脚本描述(头部)! |8 e, U* H/ m7 n4 C2 Q7 x/ J; n/ D
•需要有整齐的缩进格式
6 `3 Y1 O8 Y; W7 c* A•脚本里面有详细的注释
) H, F5 E+ Z) q$ j" |/ f% n举例说明
, n* O" x$ |" h$ ^#!/bin/bash2 h+ A" v a. x
################################################################################8 V1 d$ l0 f. L- H" n. t6 R+ b
# SCRIPT_NAME : xxxx_commit_combine.sh# C$ U, z$ _& f/ }, U5 ^
#
1 ?1 ^. O5 Y8 M2 ?6 x6 e( b* d* I# CREATE_TIME : 2018/04/10
* g! m7 w. y M8 S# z5 A# AUTHOR : Mochou_liqb
0 m1 F& L4 g* f6 L0 B6 u' r9 }( k#
. ~: ^- B1 r" h6 d E5 C# DESCRIBETION : get create_table_sql2 ~. z3 O) l+ S b: @2 M
# PARAMETER : 1 baseConf, such as XX
+ ]3 e; J) X; Y3 r* ]! S# EXAMPLE : ./xxxx_commit_combine.sh XX TABLE_NAME 20181212& Z3 q& }& } A+ s" g6 B
#
; n6 D0 a) f' Y0 H4 J" i: D# UPDATE_RECORD : change comments from Chinese to English and kill some bugs
$ f1 h; J6 _" E! [& i#
. o4 w4 l1 O [3 J1 [! O2 `/ Q# DATE OPERATION CZR DESCRIBETION
, K! T' K4 v' ?$ [# ________ _____________ ________ __________________________________
0 @" _3 C; P' W8 d6 d0 L7 i## B# _& `) ?# }% T/ F/ V2 b
# 2018/12/11 UPDATE Mochou_liqb
f2 V/ I! y: V################################################################################& p, e6 [6 T9 I* d& ~# C
; h) M# w y5 _+ ~. O, i
目录规范
- ^# w6 c9 S# l# k+ Z2 Y$ i目录是广泛定义下的目录,包含作业,脚本,资源等,目录设置的要求需要按层级按分类逐级增加,理应有正文目录和备份目录,目录命名应简洁清晰统一,便于管理规范
& Y: H% r% E. [* s9 V5 k( x: x: Y数据开发标准规范; N n h, `! |% @* \
代码对照映射:根据业务整理规范得出,如果是该系统独有的代码表,则特殊处理进行标准
+ m7 ]; o; D7 D1 y, U: P: F非空字段处理:设置默认值.对于日期、字符类型数据项,暂不做处理,对于数值型字段设置为0
- W% `6 m9 q. ]# a! w代码引用字段:对于不能为空的代码字段实际值为空的代码引用字段,默认填写“;对于标准化映射,根据代码对照映射关系, 查找到当前字段对应的标准代码表,根据原码值和标准码值的对应关系,用标准码值替换原码值) Q P _- ~( k$ G8 S: U
日期时间字段:对于字段只需具体到天,其他统一各系统日期/时间字段的格式,在源库找出所有时间字段DATE,TIMESTAMP,
7 h9 \4 b1 [& v5 Y$ K) r 式为'YAN-MM-DDHH:MISS,对于不符合格式的字段,使用日期时间函数转换
& s% ^$ f! I7 {% K/ Q8 t; s数值数目字段:统一各系统数字格式,对于金額类型的数据,统一格式为保两位小数;对于利率类统一用小数表示$ `8 Z$ l. y/ t% p2 t V
二 平台标准规范5 D- d. f7 _' E" b1 ^- l2 `( @/ d; z
平台规范主要包含
4 U7 z0 j/ F2 \$ ]/ N数据类型规范:主要是平台与数据库之间的数据类型映射规范,这个按照每个数据库系统实际规范来规范9 a5 p m% t' u' P7 y" P
实体命名规范:项目,表,文件夹,资源等,参考前面介绍, m! O, ^7 } W5 o4 G0 y
作业调度规范:规范和控制作业之间前后依赖关系,从而保证数据按照设计流程进行准确加工;通过虚拟节点进行分级分类,方便作业控制与管理;虚拟节点命名规则:xnjd_etl_{虚拟节点类型};物理节点命名规则:参考数据层命名规范中的作业命名规范;" M: Z; O! ]% h4 L: ?4 l
权限管理规范:权限严格控制,开发,生产项目权限保持界限
' K, X% t& e* Z0 ~8 q: P. x& s三 流计算规范
8 ?: W$ H1 ~$ k% n1 k3 u流计算由于其数据应用的特殊性,是不走大数据平台的而是有自己的一套采集,规范,开发,应用的流程,这一套流程分别对应不同的工具,平台和数据库,由于各大云平台和云生态,其架构不完全统一,故这方面的规范可实际参考前两者,逐一标准
1 V0 h! H* j7 @, i2 r4 w) O7 [/ }四 运维规范
v; f* q- @6 Y实施运维
4 H4 W+ O7 K, H建立运维机制,每天定时检测平台流程,包括大数据平台,数据库,流计算等并输出运维文档每日提交1 Q6 a9 X. J# Z
新增数据源依据需求在业务低峰期添加,尽量选择新增作业,做到不影响其他作业运行
' X6 w: [2 ?. E, O流程出现问题及时实施处理,总结汇报,评估代价,并告知下游/ M1 e4 F0 v9 N: {: o. a; d
! _- h) i4 d/ Q0 g9 D3 _# g9 I |
|