|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一 数据开发规范
* l G( t6 Q# e- W/ r, ?0 Y命名标准
& J$ b/ e k* D' Z! z) Q* l6 v这个命名包含了表命名,项目命名,作业命名等,拿表名来说,一般都是按系统来为首,业务做次之,接着是表名,最后还加上一些备注信息,demo是 系统_业务_表名_备注,比如来自外部互联网的一条用于监控的每日更新的日志表HLW_JK_LOG_RT,不过具体命名以实际业务来定,唯一需要认真的就是无论是表,项目,还是作业资源这一类的命名都要统一一致,方便后续开发以及管理! V! ]2 z- D6 r) [7 j
脚本规范; {3 ?# v2 q# m% {* S: E
•脚本命名由阿拉伯数字(0~9)、字母(a~z、A~Z)、下划线(_)组成,并以字母开头,其中字母应全部为小写5 v- o% {7 ]* X8 e# s& @- U; p
•{分区}_{功能简述},如:贴源区数据同步的shell脚本,ty_sjtb.sh; Q* N/ j+ {: v- c P+ u% m# r
•需要有规范的脚本描述(头部)& \1 q$ P3 J. i8 i _2 v0 Z
•需要有整齐的缩进格式# x# H: b+ L2 P& l: ^: e
•脚本里面有详细的注释/ }* V1 e/ I# I2 c- U
举例说明& @3 S6 W1 i1 k: E" x' |2 P
#!/bin/bash
2 C' j9 |5 y; L$ ^################################################################################6 b- D) `* m! L0 Y# y
# SCRIPT_NAME : xxxx_commit_combine.sh
1 T# \6 Q: W' h b, g#6 G1 L$ X& {/ s3 a2 k
# CREATE_TIME : 2018/04/10% W9 r8 J1 `1 d
# AUTHOR : Mochou_liqb; T1 q" ]3 M) t( V
#
5 l' w! I" b9 F- j( J: ?# DESCRIBETION : get create_table_sql- b: K @+ H" U5 U4 G
# PARAMETER : 1 baseConf, such as XX
# j( g2 i/ R! V: ^! d* J1 u# EXAMPLE : ./xxxx_commit_combine.sh XX TABLE_NAME 20181212
& l' G/ }. O' F/ W- b7 Z6 d0 y' W+ T#
& r. D) i4 {9 r2 X, z" i# UPDATE_RECORD : change comments from Chinese to English and kill some bugs
0 W" ^8 [, {- l- I5 x( e#
/ z9 P# l8 b* c- y' v- [6 N# DATE OPERATION CZR DESCRIBETION
" N# o/ I" S7 v- n# ________ _____________ ________ __________________________________) D. |1 m* ?7 X& i
#. U5 c0 |$ Y0 g( o0 P
# 2018/12/11 UPDATE Mochou_liqb * g9 j3 ^- K' X
################################################################################
6 R m- r% g8 a3 g% w$ a6 b- o4 p3 n I) w- P ?; z1 _
目录规范4 `; g/ h) Q$ E+ j) c; c
目录是广泛定义下的目录,包含作业,脚本,资源等,目录设置的要求需要按层级按分类逐级增加,理应有正文目录和备份目录,目录命名应简洁清晰统一,便于管理规范" R* x" j5 n! |# W: W
数据开发标准规范2 J$ o- m/ O* }5 R9 Y" }3 w; \
代码对照映射:根据业务整理规范得出,如果是该系统独有的代码表,则特殊处理进行标准7 Z. z5 I! f$ w8 T3 s8 W
非空字段处理:设置默认值.对于日期、字符类型数据项,暂不做处理,对于数值型字段设置为0: L$ _/ {# V' k v5 \
代码引用字段:对于不能为空的代码字段实际值为空的代码引用字段,默认填写“;对于标准化映射,根据代码对照映射关系, 查找到当前字段对应的标准代码表,根据原码值和标准码值的对应关系,用标准码值替换原码值- v2 Z8 U7 Y# W' `" z- Y
日期时间字段:对于字段只需具体到天,其他统一各系统日期/时间字段的格式,在源库找出所有时间字段DATE,TIMESTAMP,. V8 K* S) I. Y' {9 k6 ]! U9 O
式为'YAN-MM-DDHH:MISS,对于不符合格式的字段,使用日期时间函数转换0 T+ R$ ?+ b2 \- X* x5 } |# d- w1 Q
数值数目字段:统一各系统数字格式,对于金額类型的数据,统一格式为保两位小数;对于利率类统一用小数表示, i7 d j, K1 i4 u9 d1 R
二 平台标准规范
; L) E% H$ \7 b; p平台规范主要包含' U, i! O \$ M+ H# d: {
数据类型规范:主要是平台与数据库之间的数据类型映射规范,这个按照每个数据库系统实际规范来规范' g4 O3 b3 x4 c3 N
实体命名规范:项目,表,文件夹,资源等,参考前面介绍+ O7 J! }* g9 |" Y3 n7 I1 w) i+ r! V
作业调度规范:规范和控制作业之间前后依赖关系,从而保证数据按照设计流程进行准确加工;通过虚拟节点进行分级分类,方便作业控制与管理;虚拟节点命名规则:xnjd_etl_{虚拟节点类型};物理节点命名规则:参考数据层命名规范中的作业命名规范;0 w' W) H* t% W
权限管理规范:权限严格控制,开发,生产项目权限保持界限 L- B% v8 U* v5 r5 l) G
三 流计算规范8 Q% m }- f; s0 z
流计算由于其数据应用的特殊性,是不走大数据平台的而是有自己的一套采集,规范,开发,应用的流程,这一套流程分别对应不同的工具,平台和数据库,由于各大云平台和云生态,其架构不完全统一,故这方面的规范可实际参考前两者,逐一标准/ C9 m( q8 _. A
四 运维规范
Z2 Z$ g' r1 w* O0 M9 r实施运维
4 T9 S( |1 H% `建立运维机制,每天定时检测平台流程,包括大数据平台,数据库,流计算等并输出运维文档每日提交
/ j( Q7 z' X5 g" l) W) _2 ?" V, j( q新增数据源依据需求在业务低峰期添加,尽量选择新增作业,做到不影响其他作业运行% z4 D( D) p( M8 E
流程出现问题及时实施处理,总结汇报,评估代价,并告知下游
: [+ z/ L+ d4 c1 F' r- `2 x" a& j9 L1 }; I# ?
|
|