|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一 数据开发规范, V& ]) T2 ?0 |- L
命名标准. U- j1 m |' i# L
这个命名包含了表命名,项目命名,作业命名等,拿表名来说,一般都是按系统来为首,业务做次之,接着是表名,最后还加上一些备注信息,demo是 系统_业务_表名_备注,比如来自外部互联网的一条用于监控的每日更新的日志表HLW_JK_LOG_RT,不过具体命名以实际业务来定,唯一需要认真的就是无论是表,项目,还是作业资源这一类的命名都要统一一致,方便后续开发以及管理& x% L/ s4 i% K# R
8 `+ ?- L/ n$ L. w' d; l& L+ p
脚本规范
+ Y g B/ j4 ?$ r& U# t; N7 I•脚本命名由阿拉伯数字(0~9)、字母(a~z、A~Z)、下划线(_)组成,并以字母开头,其中字母应全部为小写9 E/ |& ~. |) {2 w. r( r# a
•{分区}_{功能简述},如:贴源区数据同步的shell脚本,ty_sjtb.sh;3 f1 r$ l9 |, X' v5 M8 f. F. U
•需要有规范的脚本描述(头部)0 m5 z. Q7 T) D2 w
•需要有整齐的缩进格式
* {* D! \' M( {0 @8 D+ M•脚本里面有详细的注释( ]4 q% _8 t$ n, T4 n' _1 J
举例说明
" d! {% W/ Q- S: A4 y5 Z
9 B$ i6 f7 ]2 _7 Z4 I' i#!/bin/bash
) T& F$ d0 f l6 u. K################################################################################" v9 f6 @4 s0 J
# SCRIPT_NAME : xxxx_commit_combine.sh
! B/ ?& t, _* [# ]& B1 W5 |) s: i#7 ~) @: l' k: T; ^9 J- w) x: [( k
# CREATE_TIME : 2018/04/10
3 E" [6 W# {( c2 P# AUTHOR : Mochou_liqb5 W, n6 a( b! x9 j
#
: O; o; Q# U+ | Y# DESCRIBETION : get create_table_sql
8 o5 i0 B5 m Z; y! j# PARAMETER : 1 baseConf, such as XX- J2 w# M& k8 L, l8 _* z* H
# EXAMPLE : ./xxxx_commit_combine.sh XX TABLE_NAME 20181212
; ]: J. v( i t9 H, N$ Y#
/ B) a8 y$ p, o1 W6 B# UPDATE_RECORD : change comments from Chinese to English and kill some bugs& P" y4 b( D# L! V* V
#. Q! S% z4 q* t) v
# DATE OPERATION CZR DESCRIBETION
( \9 }- L8 F, ]# \# ________ _____________ ________ __________________________________
( V# Z. O2 u% q+ l4 z#
, N1 ]0 n0 f" v3 O2 O9 H# 2018/12/11 UPDATE Mochou_liqb " B8 g3 p7 V# R) @
################################################################################ w3 \) J5 S* C j: ?
6 w! k7 m6 C# R1 }: |0 N
u6 Z$ c4 ~* L, O5 p% A6 q. b目录规范
2 e7 S$ G! P* o0 l: N# @ }# _目录是广泛定义下的目录,包含作业,脚本,资源等,目录设置的要求需要按层级按分类逐级增加,理应有正文目录和备份目录,目录命名应简洁清晰统一,便于管理规范
, z8 L a0 q: g* L3 r' h- A* ~# y) F& ~& q9 M' q
数据开发标准规范- T; i. S; Y! d6 d$ j; J
代码对照映射:根据业务整理规范得出,如果是该系统独有的代码表,则特殊处理进行标准& h0 P, F, ^* Z; S
非空字段处理:设置默认值.对于日期、字符类型数据项,暂不做处理,对于数值型字段设置为0
/ w# S! d3 j6 A代码引用字段:对于不能为空的代码字段实际值为空的代码引用字段,默认填写“;对于标准化映射,根据代码对照映射关系, 查找到当前字段对应的标准代码表,根据原码值和标准码值的对应关系,用标准码值替换原码值7 T6 j7 m+ k3 N$ U8 K
日期时间字段:对于字段只需具体到天,其他统一各系统日期/时间字段的格式,在源库找出所有时间字段DATE,TIMESTAMP, z; S7 J6 ?' q% G6 W. d5 ?
式为'YAN-MM-DDHH:MISS,对于不符合格式的字段,使用日期时间函数转换2 t2 V! `! h# |# I
数值数目字段:统一各系统数字格式,对于金額类型的数据,统一格式为保两位小数;对于利率类统一用小数表示
$ @( ?3 [7 }! j5 f7 a) N1 N9 k% B# W% F! l
二 平台标准规范
: q. V6 q, X( T+ p i9 o平台规范主要包含; g7 R! K' k5 p* D% ]/ B$ V
" O5 e& I( @3 f$ P2 Q数据类型规范:主要是平台与数据库之间的数据类型映射规范,这个按照每个数据库系统实际规范来规范
, _4 g0 c) V% z3 e2 @5 n实体命名规范:项目,表,文件夹,资源等,参考前面介绍( t" _/ N! k3 g( D: q0 C5 y
作业调度规范:规范和控制作业之间前后依赖关系,从而保证数据按照设计流程进行准确加工;通过虚拟节点进行分级分类,方便作业控制与管理;虚拟节点命名规则:xnjd_etl_{虚拟节点类型};物理节点命名规则:参考数据层命名规范中的作业命名规范;! q7 V3 Q# K- C: I1 F
权限管理规范:权限严格控制,开发,生产项目权限保持界限
' i4 K: n# [9 Z三 流计算规范
7 w" S* m' r0 v' ]5 M6 T8 g% z流计算由于其数据应用的特殊性,是不走大数据平台的而是有自己的一套采集,规范,开发,应用的流程,这一套流程分别对应不同的工具,平台和数据库,由于各大云平台和云生态,其架构不完全统一,故这方面的规范可实际参考前两者,逐一标准
: V: f* u9 W. w/ B, y
2 b0 u! W) @' `+ }3 G四 运维规范' U x3 R. L7 _% N/ e7 W
实施运维
/ u& D+ `& T9 ~+ w
% l( C% I" [3 _+ [1 u建立运维机制,每天定时检测平台流程,包括大数据平台,数据库,流计算等并输出运维文档每日提交
( `- F- }; B& e4 o新增数据源依据需求在业务低峰期添加,尽量选择新增作业,做到不影响其他作业运行
; C8 e [1 x% t8 q8 u! |流程出现问题及时实施处理,总结汇报,评估代价,并告知下游
+ ^2 P4 L* u) H; H
, I2 r$ ~+ B/ N v+ F2 R/ ]) P$ @0 x* B# f" `2 e* ?
|
|