一 数据开发规范
- 命名标准
这个命名包含了表命名,项目命名,作业命名等,拿表名来说,一般都是按系统来为首,业务做次之,接着是表名,最后还加上一些备注信息,demo是 系统_业务_表名_备注,比如来自外部互联网的一条用于监控的每日更新的日志表HLW_JK_LOG_RT,不过具体命名以实际业务来定,唯一需要认真的就是无论是表,项目,还是作业资源这一类的命名都要统一一致,方便后续开发以及管理
- 脚本规范
- •脚本命名由阿拉伯数字(0~9)、字母(a~z、A~Z)、下划线(_)组成,并以字母开头,其中字母应全部为小写
- •{分区}_{功能简述},如:贴源区数据同步的shell脚本,ty_sjtb.sh;
- •需要有规范的脚本描述(头部)
- •需要有整齐的缩进格式
- •脚本里面有详细的注释
举例说明
#!/bin/bash
################################################################################
# SCRIPT_NAME : xxxx_commit_combine.sh
#
# CREATE_TIME : 2018/04/10
# AUTHOR : Mochou_liqb
#
# DESCRIBETION : get create_table_sql
# PARAMETER : 1 baseConf, such as XX
# EXAMPLE : ./xxxx_commit_combine.sh XX TABLE_NAME 20181212
#
# UPDATE_RECORD : change comments from Chinese to English and kill some bugs
#
# DATE OPERATION CZR DESCRIBETION
# ________ _____________ ________ __________________________________
#
# 2018/12/11 UPDATE Mochou_liqb
################################################################################
- 目录规范
目录是广泛定义下的目录,包含作业,脚本,资源等,目录设置的要求需要按层级按分类逐级增加,理应有正文目录和备份目录,目录命名应简洁清晰统一,便于管理规范
- 数据开发标准规范
代码对照映射:根据业务整理规范得出,如果是该系统独有的代码表,则特殊处理进行标准
非空字段处理:设置默认值.对于日期、字符类型数据项,暂不做处理,对于数值型字段设置为0
代码引用字段:对于不能为空的代码字段实际值为空的代码引用字段,默认填写“;对于标准化映射,根据代码对照映射关系, 查找到当前字段对应的标准代码表,根据原码值和标准码值的对应关系,用标准码值替换原码值
日期时间字段:对于字段只需具体到天,其他统一各系统日期/时间字段的格式,在源库找出所有时间字段DATE,TIMESTAMP,
式为'YAN-MM-DDHH:MISS,对于不符合格式的字段,使用日期时间函数转换
数值数目字段:统一各系统数字格式,对于金額类型的数据,统一格式为保两位小数;对于利率类统一用小数表示
二 平台标准规范
平台规范主要包含
- 数据类型规范:主要是平台与数据库之间的数据类型映射规范,这个按照每个数据库系统实际规范来规范
- 实体命名规范:项目,表,文件夹,资源等,参考前面介绍
- 作业调度规范:规范和控制作业之间前后依赖关系,从而保证数据按照设计流程进行准确加工;通过虚拟节点进行分级分类,方便作业控制与管理;虚拟节点命名规则:xnjd_etl_{虚拟节点类型};物理节点命名规则:参考数据层命名规范中的作业命名规范;
- 权限管理规范:权限严格控制,开发,生产项目权限保持界限
三 流计算规范
流计算由于其数据应用的特殊性,是不走大数据平台的而是有自己的一套采集,规范,开发,应用的流程,这一套流程分别对应不同的工具,平台和数据库,由于各大云平台和云生态,其架构不完全统一,故这方面的规范可实际参考前两者,逐一标准
四 运维规范
实施运维
- 建立运维机制,每天定时检测平台流程,包括大数据平台,数据库,流计算等并输出运维文档每日提交
- 新增数据源依据需求在业务低峰期添加,尽量选择新增作业,做到不影响其他作业运行
- 流程出现问题及时实施处理,总结汇报,评估代价,并告知下游
监控表格
由实际业务制定并分发遵循