数仓构建流程

首先理解以下基本概念:

1. 业务板块:比数据域更高维度的业务划分方法,适用于特别庞大的业务系统。
2. 维度:维度建模由Ralph Kimball提出。维度模型主张从分析决策的需求出发构建模型,为分析需求服务。维度是度量的环境,是我们观察业务的角度,用来反映业务的一类属性 。属性的集合构成维度 ,也可以称为实体对象。例如, 在分析交易过程时,可以通过买家、卖家、商品和时间等维度描述交易发生的环境。
3. 属性(维度属性):维度所包含的表示维度的列称为维度属性。维度属性是查询约束条件、分组和报表标签生成的基本来源,是数据易用性的关键。
4. 度量:在维度建模中,将度量称为事实 , 将环境描述为维度,维度是用于分析事实所需要的多样环境。度量通常为数值型数据,作为事实逻辑表的事实。
5. 指标:指标分为原子指标和派生指标。原子指标是基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,是具有明确业务含义的名词 ,体现明确的业务统计口径和计算逻辑,例如如支付金额。

  •   原子指标=业务过程+度量
  •   派生指标=时间周期+修饰词+原子指标,派生指标可以理解为对原子指标业务统计范围的圈定。

6. 业务限定:统计的业务范围,筛选出符合业务规则的记录(类似于SQL中where后的条件,不包括时间区间)。
7. 统计周期:统计的时间范围,例如最近一天,最近30天等(类似于SQL中where后的时间条件)。
8. 统计粒度:统计分析的对象或视角,定义数据需要汇总的程度,可理解为聚合运算时的分组条件(类似于SQL中的group by的对象)。粒度是维度的一个组合,指明您的统计范围。例如某个指标是某个卖家在某个省份的成交额,则粒度就是卖家、地区这两个维度的组合。如果您需要统计全表的数据,则粒度为全表。在指定粒度时,您需要充分考虑到业务和维度的关系。统计粒度常用语作为派生指标的修饰词而存在。

数仓构建流程基本分为几步:


1. 明确需求
在进行数据仓库构建之前,首先需要确定数仓构建的目标与需求,进行全面的业务调研。您需要了解真实的业务需求是什么,以及确定整个业务系统能解决什么问题。

需求分析的途径有两种:

  • 根据与分析师、业务运营人员的沟通获知需求。
  • 对报表系统中现有的报表进行研究分析。

在进行需求分析阶段,您需要沉淀出业务分析或报表中的指标,以及指标的定义和粒度。粒度可以作为维度的输入。中间经常需要思考一下问题:

  • 业务数据是根据什么(维度、粒度)汇总的,衡量标准是什么?例如,成交量是维度,订单数是度量。
  • 明细数据层和汇总数据层应该如何设计?公共维度层该如何设计?是否有公共的指标?
  • 数据是否需要冗余、沉淀到汇总数据层中?

举例: 数据分析师需要了解A公司电商业务中厨具类目的成交金额。当获知这个需求后,您需要分析:根据什么(维度)汇总、汇总什么(度量)以及汇总的范围多大(粒度)。例如,类目是维度,金额是度量,范围是全表。此外,还需要思考明细数据和汇总数据应该如何设计、是否是公共层的报表、数据是否需要沉淀到汇总表中等因素。
**经常提到的就是5w2h思考方法。**

需求调研的分析产出通常是记录原子与派生指标的文档。


 2. 分析业务过程
业务过程可以是单个业务事件,例如交易的支付、退款等;也可以是某个事件的状态,例如当前的账户余额等;还可以是一系列相关业务事件组成的业务流程。具体取决于您分析的是某些事件过去发生情况、当前状态,或是事件流转效率。

选择粒度:在业务过程事件分析中,您需要预判所有分析需要细分的程度和范围,从而决定选择的粒度。 识别维表、选择好粒度之后,您需要基于此粒度设计维表,包括维度属性等,用于分析时进行分组和筛选。最后,您需要确定衡量的指标。


 3. 划分数据域
数据仓库是面向主题(数据综合、归类并进行分析利用的抽象)的应用。数据域是指面向业务分析,将业务过程或者维度进行抽象的集合。为保障整个体系的生命力,数据域需要抽象提炼,并长期维护更新。在划分数据域时,既能涵盖当前所有的业务需求,又能让新业务在进入时可以被包含进已有的数据域或扩展新的数据域。数据域的划分工作可以在业务调研之后进行,需要分析各个业务模块中有哪些业务活动。
常见的业务域:

扫描二维码关注公众号,回复: 8918378 查看本文章
数据域 业务过程
客户域 新签、续费、过期、退费
会员域 登录、装修、开店、关店
商品域 发布、上架、下架、重发
日志域 曝光、浏览、点击
交易域 下单、支付、发货、确认收货
服务域 商品收藏、拜访、培训、
采购域 商品采购、供应链管理


4. 定义维度与构建总线矩阵
明确每个数据域下有哪些业务过程后,即可构建总线矩阵。您需要明确业务过程与哪些维度相关,并定义每个数据域下的业务过程和维度。如下所示是某教育公司的总线矩阵。

5. 明确统计指标

  • 原子指标是明确的统计口径、计算逻辑: 原子指标=业务过程+度量。
  • 派生指标即常见的统计指标:派生指标=时间周期+修饰词+原子指标。

原子指标的创建需要在业务过程定义后方才可创建。派生指标的创建一般需要在了解具体报表需求之后展开,在新建派生指标前必须新建好原子指标。 注意事项如下:

  • 原子指标、修饰类型及修饰词,直接归属在业务过程下,其中修饰词继承修饰类型的数据域。
  • 派生指标可以选择多个修饰词,由具体的派生指标语义决定。例如,支付金额为原子指标,则客单价(支付金额除以买家数)为派生指标。
  • 派生指标唯一归属一个原子指标,继承原子指标的数据域,与修饰词的数据域无关。

6. 数仓分层

  • ODS层存放您从业务系统获取的最原始的数据,是其他上层数据的源数据。业务数据系统中的数据通常为非常细节的数据,经过长时间累积,且访问频率很高,是面向应用的数据。或者存放实时的内容。具体内容后续分析。
  •  公共维度层(DIM)基于维度建模理念,建立整个企业的一致性维度。公共维度层主要由维度表(维表)构成。维度是逻辑概念,是衡量和观察业务的角度。维表是根据维度及其属性物理化在大数据平台上构建的表,采用宽表设计的原则。因此,构建公共维度层(DIM)首先需要定义维度。
  • 公共汇总粒度事实层(DWS)和明细粒度事实层(DWD)的事实表作为数据仓库维度建模的核心,需紧绕业务过程来设计。通过获取描述业务过程的度量来表达业务过程,包括引用的维度和与业务过程有关的度量。度量通常为数值型数据,作为事实逻辑表的事实。事实属性则作为事实逻辑表的描述信息,关联维度则将事实属性中的外键字段关联对应维度。
  • ADS层也就是应用层, 可以理解为针对各部门的报表层。

7. 数据建模
数据仓库的建设和数据集市的建设的重要区别就在于数据模型的支持。因此,数据模型的建设也至关重要。接下来具体分析。


8. 数据质量检查
质量检查是一个很繁琐的过程,但是很重要,需要对数据的准确性、合法性、一致性等做判断。具体后续分析。

9. 模型优化
 

发布了74 篇原创文章 · 获赞 43 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/fenglei0415/article/details/99101592