|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一 数据开发规范# z2 X' [1 e6 A* ~2 f8 C; r6 j9 z
命名标准
# Z3 u2 [7 |, a0 ?* m& c这个命名包含了表命名,项目命名,作业命名等,拿表名来说,一般都是按系统来为首,业务做次之,接着是表名,最后还加上一些备注信息,demo是 系统_业务_表名_备注,比如来自外部互联网的一条用于监控的每日更新的日志表HLW_JK_LOG_RT,不过具体命名以实际业务来定,唯一需要认真的就是无论是表,项目,还是作业资源这一类的命名都要统一一致,方便后续开发以及管理
$ s f0 N9 c8 f7 ], z+ l脚本规范
* I; U d/ L& Q$ H- R- C/ M4 q* f•脚本命名由阿拉伯数字(0~9)、字母(a~z、A~Z)、下划线(_)组成,并以字母开头,其中字母应全部为小写% q) K( e# K8 W* x
•{分区}_{功能简述},如:贴源区数据同步的shell脚本,ty_sjtb.sh;3 Y" C& f: B# F5 S
•需要有规范的脚本描述(头部)* N+ g5 K1 X- L, c* B/ t0 n
•需要有整齐的缩进格式8 W- S) B: x2 J d8 z3 K
•脚本里面有详细的注释( W8 i ^) f! G3 P' {- i
举例说明; X* S7 Z/ V! @1 \+ K) f' }
#!/bin/bash7 I) q, }# c2 J% b
################################################################################
/ G( E {" k* O3 Y0 E6 \# SCRIPT_NAME : xxxx_commit_combine.sh
" J( S2 K' H! P& Q9 Z8 d#+ f: J- Y" b, {( z
# CREATE_TIME : 2018/04/10
, V( ~$ \! M- N8 h0 ^# AUTHOR : Mochou_liqb2 z* q7 h) I3 a% a& V; E
#
9 L. N- e9 T0 D# DESCRIBETION : get create_table_sql
9 S2 r9 n' P( A* P3 Z# PARAMETER : 1 baseConf, such as XX9 L M; p0 l" O5 ?6 B) K) E
# EXAMPLE : ./xxxx_commit_combine.sh XX TABLE_NAME 20181212
u+ n& J+ N, ?" f* _" e6 N# $ r8 P. }7 m: q
# UPDATE_RECORD : change comments from Chinese to English and kill some bugs; p2 ]. I* d( s, Y6 t ~6 W
#
9 a( e) q. |" V0 f4 Q* s# DATE OPERATION CZR DESCRIBETION 6 G2 Z1 e/ o! H" C# o) x6 {1 K8 q& y) N
# ________ _____________ ________ __________________________________1 C# k8 j @; z8 o
#, u1 x( M5 K7 m7 }# y8 G
# 2018/12/11 UPDATE Mochou_liqb 8 | ]: r# B. r7 F
################################################################################" |* K- u$ I' w* W' A5 R1 l# C4 Y
9 F" Y1 h8 o( @% n" O& p$ m
目录规范
! i; u/ `0 `4 w0 n( x: K" f9 \% n目录是广泛定义下的目录,包含作业,脚本,资源等,目录设置的要求需要按层级按分类逐级增加,理应有正文目录和备份目录,目录命名应简洁清晰统一,便于管理规范
& ?% |/ x0 W" q2 R数据开发标准规范2 q# |, O O( R% L+ f
代码对照映射:根据业务整理规范得出,如果是该系统独有的代码表,则特殊处理进行标准6 i/ K, k( y3 n4 n7 r! {
非空字段处理:设置默认值.对于日期、字符类型数据项,暂不做处理,对于数值型字段设置为08 V. x! x& R0 d
代码引用字段:对于不能为空的代码字段实际值为空的代码引用字段,默认填写“;对于标准化映射,根据代码对照映射关系, 查找到当前字段对应的标准代码表,根据原码值和标准码值的对应关系,用标准码值替换原码值7 F: R% h3 b' _3 A, X+ [2 G
日期时间字段:对于字段只需具体到天,其他统一各系统日期/时间字段的格式,在源库找出所有时间字段DATE,TIMESTAMP,/ j! X, v2 j3 ^6 |+ w
式为'YAN-MM-DDHH:MISS,对于不符合格式的字段,使用日期时间函数转换
, a0 F! E( S$ T+ {/ s) G( P- O数值数目字段:统一各系统数字格式,对于金額类型的数据,统一格式为保两位小数;对于利率类统一用小数表示8 `. K% S/ A3 |
二 平台标准规范7 Q4 p0 a1 q* B2 {/ n7 ]
平台规范主要包含
# _! y% q# `, D# f* R! B, s数据类型规范:主要是平台与数据库之间的数据类型映射规范,这个按照每个数据库系统实际规范来规范
! I* \, T2 K8 y: e, X0 v实体命名规范:项目,表,文件夹,资源等,参考前面介绍( I' ~( i7 e2 Y4 f# z% n
作业调度规范:规范和控制作业之间前后依赖关系,从而保证数据按照设计流程进行准确加工;通过虚拟节点进行分级分类,方便作业控制与管理;虚拟节点命名规则:xnjd_etl_{虚拟节点类型};物理节点命名规则:参考数据层命名规范中的作业命名规范;
1 D! r0 I* i! j* X m! Z权限管理规范:权限严格控制,开发,生产项目权限保持界限
6 r, p$ m6 i; a* o4 J三 流计算规范
2 Y/ h1 a! W& A! T$ D流计算由于其数据应用的特殊性,是不走大数据平台的而是有自己的一套采集,规范,开发,应用的流程,这一套流程分别对应不同的工具,平台和数据库,由于各大云平台和云生态,其架构不完全统一,故这方面的规范可实际参考前两者,逐一标准
* ^3 X3 T! } i$ n9 c1 S2 U四 运维规范! ?3 p# p5 ^/ c5 s5 M
实施运维
o) p! S4 L) c6 D; v% w建立运维机制,每天定时检测平台流程,包括大数据平台,数据库,流计算等并输出运维文档每日提交
x, w; {3 {- z8 t8 _' M新增数据源依据需求在业务低峰期添加,尽量选择新增作业,做到不影响其他作业运行
; e7 H4 o0 W; U, h _流程出现问题及时实施处理,总结汇报,评估代价,并告知下游
! ]# c1 }. Q1 Y4 f) g- {7 Q
$ E2 d! V; b. k( Q |
|