最近回顾了一下数据仓库的理论知识,遂整理成一份知识点大纲,方便后续复习。

主要参考:
1、木东居士分享的文章
2、阿里巴巴大数据之路
3、穆晨的博客
4、工作中的实践

此文本意是供自己学习使用,有些地方是自己工作中的真实情况,可能不一定合适于每一个人。如果感兴趣,可以跟着大纲自己梳理一遍,会大有裨益。

1、定义

什么是数据仓库?

数据仓库是一个面向

  • 主题的(Subject Oriented)
  • 集成的(Integrate)
  • 相对稳定的(Non-Volatile)
  • 反映历史变化(Time Variant)的数据集合

它用于支持企业或组织的决策分析处理

2、离线数据同步

  • 《阿里巴巴大数据之路》第4章
  • Hive表数据存储格式ORC、parquet
  • 数据偏移
  • 数据同步工具 Datax和Sqoop
  • 根据updatetime增量数据合并全量表的几种方式

    • 1、开窗row_nubmer 取最新一条
    • 2、【更新数据】 union【 旧数据过滤掉更新数据】
    • 3、full outer join 使用 coalease 或者 case when 取最新的数据

      3、数据库系统与数据仓库

  • 《阿里巴巴大数据之路》第8章

  • ER建模(实体关系建模)
  • 数据库和数据仓库的区别
  • 规范化和反规范化

  • 《阿里巴巴大数据之路》第9章

  • 数仓关键名词定义
    • 数据域、度量、指标(原子指标/派生指标)、维度、维度属性
  • 数仓分层
  • 开发实施流程

    • image.png

      5、维度设计

  • 《阿里巴巴大数据之路》第10章

  • 维度和维度属性的基本概念
  • 维度建模的过程
    20190519 数据仓库学习大纲 - 图3
  • 在确定维度属性的时候要求:
    • 1、尽可能丰富
    • 2、尽量通用
    • 3、连续值一般不是维度属性,但是可以拆分成维度属性
  • 层次结构的处理方式
    • 结合数据立方体理解上卷和下钻
    • OLAP中进行反规范化处理,将维度的属性层次合并到单个为表中
  • 维度整合与拆分
  • 缓慢变化维

    • 快照存储
    • 拉链表

      6、事实表设计

  • 《阿里巴巴大数据之路》第11章

  • 事务事实表
    • 单事务事实表
    • 多事务事实表
  • 周期快照事实表
    • 例子:如用户累计登陆次数,当前VIP等级,最高VIP等级等快照事实
    • 基本可以基于事务事实表计算得来
  • 累计快照事实表
    • 记录事实的变化工程

image.png

  • 事实表设计方法

    • 1、选择业务过程分析事实
    • 2、声明粒度
    • 3、确定维度
    • 4、确定事实
    • 5、冗余维度

      7、元数据

  • 《阿里巴巴大数据之路》第12章

  • Hive元数据表的基本使用参考http://lxw1234.com/archives/2015/07/378.htm
    • 查询所有数据库
    • 查询是内部表还是外部表
    • 查询表格式
    • 查询数仓所有表个数(分区表个数、非分区表个数)
    • 统计所有表行数
    • 统计表对应的HDFS里存储文件个数
    • 获取表的上一次更新时间
  • 小文件合并
  • 统计数仓表行数
    • Hive insert overwrite 会自动统计(hive.stats.autogather=true)
    • 有些操作不能触发自动统计,使用 ANALYZE TABLE XXX COMPUTE STATISTICS 进行写流程后统计
  • 使用Hive元数据进行简单监控
    • 表命名规范检查
    • 小文件个数合理性检查
    • 表行数掉零监测
  • 公司系统元数据:

    • 数仓元数据
    • 调度系统
    • 数据字典系统

      8、数据质量

  • 《阿里巴巴大数据之路》第15章

  • 美团数据质量监控 https://tech.meituan.com/2018/03/21/mtdp-dataman.html
  • 木东居士:No.22 漫谈数据质量监控
  • 数据质量保障

image.png