转载自:面试真经 | 大数据/数仓面试灵魂30问:添加链接描述
目录
1. 什么是数据仓库?如何构建数据仓库?
可参考:漫谈 | 大牛带你从0到1构建数据仓库实战添加链接描述
(如果这个问题回答的好,后面很多问题都不需要再问)
答:数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,它用于支持企业或组织的决策分析处理。
1.1 数仓建设流程:
- 分为六步:数据调研、划分主题域、构建总线矩阵、分层架构、制定规范、数据治理。
- 详细而言,通过三步调研(业务调研、需求调研、数据调研),划分主题域,确定主题。然后构建总线矩阵,维度建模(星型模型、四步建模)。设计数仓分层架构(ods-dwd-dws-ads),定制规范(命名规范、模型规范、开发规范、流程规范)。数据治理(数据质量,数据安全,元数据管理)。开工ETL/BI,迭代开发。
1)数据调研(业务调研、需求调研、数据调研)
业务调研:座谈业务同学,梳理业务流程,构建概念数据模型,初步划分数仓dw层主题域。
Tag:概念模型dw层。
interface:数据产品经理
需求调研:梳理现有数据需求,收集整理过去、现在或将来的数据或BI报表需求,初步确定数仓app层主题域。
Tag:需求收集app层、需求池。
interface:分析师。
数据调研:获取每个数据源、数据结构说明书、整理数据字典,划分每个表的业务线和所属模板,同时确定每个库、表ods层的主题域。
Tag:数据字典、ods层。
interface:研发同学。
2)划分主题域(划分主题域,确定主题)

3)构建总线矩阵(构建总线矩阵,维度建模(星型模型、四步建模))



4)分层架构(设计数仓架构、技术选型)(ods-dwd-dws-ads)


5)制定规范 (设计、命名、模型、开发、流程规范)
简称:设命模开流

6)数据治理 (数据质量,数据安全,元数据管理)

1.2 数仓构建

1) 前期业务调研 需求调研 数据调研 技术选型
2) 提炼业务模型,总线矩阵,划分主题域;
3) 定制规范 命名规范、开发规范、流程规范
4) 数仓架构分层
一般分为
ODS: operational data store-操作数据层
CDM:Common Data Model-公共维度模型层,又称通用数据模型层(包含DWD: data warehouse detail-明细数据层,DWS: data warehouse service-服务数据层)
ADS: application data store-应用数据层
- ODS 层-原始数据层
存放原始数据,直接加载原始日志、数据,数据保持原貌不做处理。 - DWD层-明细数据层
结构和粒度与ods层保持一致,对ods层数据进行清洗(去除空值,脏数据,超过极限范围的数据),也有公司叫dwi。 - DWS层-服务数据层
以dwd为基础,进行轻度汇总。一般聚集到以用户当日,设备当日,商家当日,商品当日等等的粒度。
在这层通常会有以某一个维度为线索,组成跨主题的宽表,比如 一个用户的当日的签到数、收藏数、评论数、抽奖数、订阅数、点赞数、浏览商品数、添加购物车数、下单数、支付数、退款数、点击广告数组成的多列表。 - ADS层-数据应用层
也有公司或书把这层成为app层、dal层、dm层,叫法繁多。
面向实际的数据需求,以DWD或者DWS层的数据为基础,组成的各种统计报表。
统计结果最终同步到RDS以供BI或应用系统查询使用。
5)选择合适的数据模型
不同的行业涉选取的模型近不相同,合适的模型,更利于在数据存储,计算,开发,安全,以及数据查询的效率,更能体现数仓的价值。
综上所述:数仓建设这个问题的范围过于大,它包含了一个0-1的过程,此处只做大方面的回答,具体的细节问题还需另外讨论。
1.3 补充


662

被折叠的 条评论
为什么被折叠?



