@Author : Spinach | GHB
@Link : http://blog.csdn.net/bocai8058
前言
通过收集资料、个人经验总结整理了【数据仓库系列篇】,有不足之处多多包涵,可参考如下:
《数据仓库系列篇之基本概述》
《数据仓库系列篇之分层思想》
《数据仓库系列篇之管理规范》
《数据仓库系列篇之实现架构》
为指导数据仓库的建设,让数据仓库能更为规范、高效,更好为公司决策分析提供服务和数据支撑,这里分一下几个部分进行管理规范设定。
Hive存储规划
Hive是基于大数据平台建设的数据仓库主要存储架构,需要对其进行规划管理。
依据数据仓库的分层思想(具体可参考 《数据仓库系列篇之分层思想》),针对不同层次进行规范设定。
层次名称 | 层次说明 | 表类型要求 | 存储格式要求 |
---|---|---|---|
ODS | 近源层 | 内部表 | ORC |
DWD | 明细数据区 | 内部表 | ORC |
DWS | 汇总数据区 | 内部表 | ORC |
DIM | 维度数据区 | 内部表 | ORC |
ADS | 应用数据区 | 内部表 | ORC |
注:数仓表存储格式采用ORC列存储,相比其他格式有较高的压缩比,不仅可节省HDFS存储资源,而且使用的MapTask会减少,对数据查询和处理性能有很大提升。
数据模型设计
具体可参考 《数据仓库系列篇之分层思想》 一文中的介绍。
命名规范
表命名
表命名原则,如下
- 采用蛇形命名法,表名由字母、下划线以及数字组成,字母一律采用小写,只能以字母开头;
- 优先使用词根中已有关键字(数仓标准配置中的词根管理),定期Review新增命名的不合理性;
- 表开头以特有业务系统标记或其他标记作开头,如bkdata_表示银行数据系统;
- 区分统计周期(在表的命名上要能说明数据的统计周期,如_d表示天增量表);
- 禁止采用非标准的缩写,表名不包含空格或特殊字符,命名原则上长度不超过30个字符;
- 表名必须有中文注释;
表命名规范,如下
- 事实表/维度表
<系统数据仓库>.<业务系统>_<数据层>_<系统/数据域/业务主题>_<自定义业务扩充词>_<表分类>
- <系统数据仓库>:如bkwh等
- <系统>:如bkdata等。
- <数据层>:如ods、dwd、dim、dws、ads等
- <数据域/业务主题>:如loan等
- <自定义业务扩充词>:如user_info等
- <表分类>:如d、ed、m、em等,具体详细表分类如下
分类 | 简写 | 全称 | 说明 |
---|---|---|---|
小时 | H | Hour | 小时增量 |
日 | D | Day | 天增量 |
周 | W | week | 周增量 |
月 | M | Month | 月增量 |
季 | Q | Quarter | 季度增量 |
年 | Y | Year | 年增量 |
全量日 | ED | Entire day | 天全量 |
全量周 | EW | Entire week | 周全量 |
月全量 | EM | Entire month | 月全量 |
中间表 | MID | Middle | 中间表 |
历史表 | HIS | History | 历史拉链表 |
配置表 | CFG | Configure | 配置表 |
实时 | RT | Real time | |
准实时 | QRT | Quasi real time | 例如:30秒、1分钟、5分钟定义为准实时 |
例如: bkwh.bkdata_dwd_loan_user_info_d 贷款用户信息事实表(天增量)
- 中间表
<系统数据仓库>.<业务系统>_<数据层>_<系统/数据域/业务主题>_<自定义业务扩充词>_<表分类>_MID
例如: bkwh.bkdata_dws_loan_user_info_d_mid 贷款用户信息汇总中间表
- 临时表
<系统数据仓库>.tmp_<业务系统>_<数据层>_<系统/数据域/业务主题>_<自定义业务扩充词>_<表分类>
例如: bkwh.tmp_bkdata_dws_loan_user_info_d 贷款用户信息汇总临时表
- 备份表
<系统数据仓库>.<业务系统>_<数据层>_<系统/数据域/业务主题>_<自定义业务扩充词>_<表分类>_bck
例如: bkwh.bkdata_dwd_loan_user_info_d_bck 贷款用户信息备份表
字段命名
字段命名原则,如下
- 采用蛇形命名法,字段名由字母、下划线以及数字组成,字母一律采用小写,只能以字母开头;
- 字段名中单词用下划线分隔;
- 优先使用词根中已有关键字(数仓标准配置中的词根管理),定期Review新增命名的不合理性;
- 禁止采用非标准的缩写,表名不包含空格或特殊字符,命名原则上长度不超过30个字符;
例如:media_agnt_cd 媒介代理名称
词根库
把可能会多次用到的短语,集中命名,保证全局范围内的命名含义一致性。
对词根库进行分类,再对具体词根进行内容管理
- 分类
- 普通词根:描述事物的最小单元体,如:交易-trade。
- 专有词根:具备约定成俗或行业专属的描述体,如:美元-USD。
- 内容
- 所属分类
- 名称
- 英文简称
- 数据类型
- 备注
任务调度组织规范
- 任务归档、任务分类管理;
- 任务命名要符合公司内部管理规范;
- 任务信息要准确填写,如任务描述、任务周期、任务调度时间、任务类型、任务依赖信息、任务中表血缘关系维护等;
引用:https://zhuanlan.zhihu.com/p/382369617