数仓

刘超 5天前 ⋅ 4041 阅读   编辑

  数据仓库之父Bill Inmon

一、ETL

二、数仓

  1、数仓介绍

  2、缓慢渐变维度

  3、hive

    hive拉链

  4、实时数仓与离线数仓

    4.1 实时数仓

    实时方案:

      a、flink + kudu

三、数仓实战

  1、电信数仓需求及实现

    1) 目的需求和目标分析

    2) 系统结构和模型设计

    3) 系统装载、数据挖掘和界面设计

四、周边系统

  1、数据知产系统

  2、元数据系统

  3、数据质量系统

  4、任务调度系统

  5、etl配置系统(数据清洗)

  6、数据补录系统

  7、数据生命周期系统

  8、安全管理系统

五、数仓开发规范

  1、表规范
    1.1、建议表按年、月、周、天分区,有如下原因
    a、一般我们会将表按day分区,但我们一般会有周报、月报、日报,如果表能按年、月、日分区能减少union操作。当然还可能有range区间跨度的任务,如果表是orc格式,当为表新增字段时,可能报错,需要特殊处理(类似Spark操作orc格式的带day的hiveb表问题这种问题)

  2、补录场景
    a、建议别选择orc作为数仓数据存储类型,因为我们就使用的orc,在补数据时或者读取range(我们有day、week、month、range四种时间跨度的任务)数据时,经常碰到某天之前没有某字段,之后有某字段,然后导致任务失败(类似spark访问hive报cannot resolve '`advIndustry`' given input columns这种问题)

  3、  数据质量系统
    a、建议任务增加字段长度检测逻辑,避免字段长度超限导致报错,同时在数据质量系统增加字段长度检查规则,当字段长度超限,体现到看板中,让业务方看到异常数据,让他们去确认,如果数据是有效的,修改代码,重跑任务。同时完善元数据系统(能够获得不同存储介质中的数据的元数据(比如字段长度等),为表创建、数据质量提供依据)
      


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: