当前位置:   article > 正文

Hive数仓分层_hive分层的意义

hive分层的意义

一.分层的作用


数仓分层的目的是:逐层解耦,减少重复计算,降低烟囱式开发。越到底层,越接近业务发生的记录,越到上层,越接近业务目标。具体如下:
①清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解,实现业务数据解耦。
②减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算
③统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径
④复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题

二、ODS (opreational data store)

  • 存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致,是数据仓库的数据准备区。
  • 作用
    • ①保持数据原貌不做任何修改,起到备份数据的作用
    • ②数据采用压缩,减少磁盘存储空间(如:原始数据100G,可以压缩到10G左右)
    • ③创建分区表,防止后续的全表扫描 

三、DWD(data warehouse detail)
1.概览
DWD层是以业务过程为驱动,基于每个具体的业务过程特点,构建最细粒度的明细层事实表。可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当冗余,即宽表化处理。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联,在该层也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性。
2.步骤
DWD层需构建维度模型,一般采用星型模型,呈现的状态一般为星座模型。 维度建模一般按照以下四个步骤: 选择业务过程→声明粒度→确认维度→确认事实

① 选择业务过程

在业务系统中,挑选我们感兴趣的业务线,比如下单业务,支付业务,退款业务,物流业务,一条业务线对应一张事实表。 如果是中小公司,尽量把所有业务过程都选择。 如果是大公司(1000多张表),选择和需求相关的业务线。<

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/832335?site
推荐阅读
相关标签
  

闽ICP备14008679号