1 数仓基本概念
1.1 数据仓库架构
源数据, 数据仓库, 数据应用,具体架构如下:
源数据:该部分数据主要是从生产数据库,线下手工数据和日志数据,集成到dataworks中,形成了数仓的第一层ods层的数据明细
数据仓库:主要是按照业务域,对明细数据进行建模,建立各个业务域的聚合数据和数据模型
数据应用:主要是在数据仓库的基础上,结合公司业务需求,聚合成前端报表展示需要的数据;数据分析需要的数据以及一些用户画像以及数据标签依赖的数据
按照目前企业通行惯例,数仓具体分层架构如下:
1.2 数据仓库具体业务域划分
目前数据根据业务线,划分如下
表1 业务域命名
1.3 数据仓库数据流动方向
ods→dim→dwd→dws→ads
切记,数据流动方向只能按照上述方向进行流动,可以跨层,比如 ods dwd dws ads, 或者 ods dim dws ads等,但是,不允许 类似的数据逆向流动
1.4 数据仓库中表命名规范
1.4.1 ods数据源层表命名规范
前缀名+业务域名+实例名(库名)+表名+表更新频次前缀名
按照数仓分层来命名,即ods来命名
业务域名
按照上述业务域命名为准,如ilp指代国际小包
实例名
是指数据来自数据源的实例名称或者数据库的名字,如uexpress
表名
即是在源数据源中的表名或者自定义的线下表的名字
表更新频次
表述由两个字符组成,前者表示更新的时间频次,后者表示更新的是表的全量还是增量
举例说明一个实际中使用频次最多的案例 – df ,d:意思为day,指每天更新,同理,y(year),q(quarter),m(month),h(hour),mi(minute);f:意思为full,指全量更新,而增量更新用i指代,是increase的缩写。
而两者可以进行随机组合,比如 hi,表示每小时增量更新
命名为小写,不允许大写
1.4.2 dim维表层表命名规范
前缀名+表名
尽管dim维表层数据跟dwd是同一层,但是按照通用做法,给其单独的前缀,比如;另外需要注意的是,由于dim层的维度表相对固定,所以,可能不定期进行更新或者并不会配置调度,因此需要在后续依赖维表的调度和脚本进行特殊的处理,具体在后续进行介绍。
命名为小写,不允许大写
1.4.3 dwd数据明细层表命名规范
前缀名 + 业务域名 + 表名,具体如下:
前缀名
按照数仓分层来命名,即dwd来命名
业务域名
按照上述业务域命名为准,如ilp指代国际小包
表名
该表名根据模型+业务进行独立命名
关于表名书写规则
全部命名为小写,不允许大写
1.4.4 dws数据明细层表命名规范
dws数据明细层命名按照 前缀名 + 业务域名 + 表名,具体如下:
前缀名
按照数仓分层来命名,即dws来命名
业务域名
按照上述业务域命名为准,如ilp指代国际小包
表名
该表名根据模型+业务进行独立命名
关于表名书写规则
全部命名为小写,不允许大写
1.4.5 ads数据应用层表命名规范
ads数据应用层命名按照 前缀名 + 业务域名 + 表名,具体如下:前缀名
按照数仓分层来命名,即ads来命名
业务域名
按照上述业务域命名为准,如ilp指代国际小包
表名
该表名根据模型+业务进行独立命名
关于表名书写规则
全部命名为小写,不允许大写文章来源于互联网:Dataworks数仓建设基础