【实时数仓篇】(01)美团 Flink 实时数仓应用

写在前面:我是「云祁」,一枚热爱技术、会写诗的大数据开发猿。昵称来源于王安石诗中一句 [ 云之祁祁,或雨于渊 ] ,甚是喜欢。


写博客一方面是对自己学习的一点点总结及记录,另一方面则是希望能够帮助更多对大数据感兴趣的朋友。如果你也对 数据中台、数据建模、数据分析以及Flink/Spark/Hadoop/数仓开发 感兴趣,可以关注我的动态 https://blog.csdn.net/BeiisBei ,让我们一起挖掘数据的价值~


每天都要进步一点点,生命不是要超越别人,而是要超越自己! (ง •_•)ง

文章目录

    • 一、前言
    • 二、实时数仓建设目的
    • 三、实时数仓的应用场景
    • 四、如何建设实时数仓
      • 4.1 实时数仓的整体的架构图
      • 4.2 ODS层的建设
      • 4.3 DW层的建设
      • 4.4 实时数仓维度数据建设
      • 4.5 实时数仓维度的使用
      • 4.6 实时数仓汇总层的建设
    • 五、仓库的质量保证

一、前言

本文是学习Flink社区在B站的实时数仓篇第一节课程的总结,1. Flink 实时数仓的应用
讲师:黄伟伦(美团点评 数据系统研发工程师)。

二、实时数仓建设目的

【实时数仓篇】(01)美团 Flink 实时数仓应用_第1张图片

三、实时数仓的应用场景

【实时数仓篇】(01)美团 Flink 实时数仓应用_第2张图片

四、如何建设实时数仓

【实时数仓篇】(01)美团 Flink 实时数仓应用_第3张图片

4.1 实时数仓的整体的架构图

【实时数仓篇】(01)美团 Flink 实时数仓应用_第4张图片

  • 数仓层次更少
    尽量减少层次的划分,应用层数据直接写入应用数据库,仓库内不维护应用层。
  • 多种数据源存储
    实时数仓使用Kafka存储明细与数据汇总数据,Tair、Hbase等缓存存储维度数据。

4.2 ODS层的建设

【实时数仓篇】(01)美团 Flink 实时数仓应用_第5张图片

  • 数据来源尽可能统一
  • 利用分区保证数据局部有序

4.3 DW层的建设

解决原始数据中数据存在噪声、不完整和数据形式不统一的情况。形成规范,统一的数据源。如果可能的化尽可能和离线保持一致。

【实时数仓篇】(01)美团 Flink 实时数仓应用_第6张图片
除了数据本身我们会在每条数据上额外补充一些信息,应对实时数据生产环节的一些常见问题。

【实时数仓篇】(01)美团 Flink 实时数仓应用_第7张图片

4.4 实时数仓维度数据建设

【实时数仓篇】(01)美团 Flink 实时数仓应用_第8张图片
变化频率低的维度
可以通过离线仓库的维度数据,同步到缓存,或者通过公共服务提数据。通过维度服务查询,对用户屏蔽细节。

【实时数仓篇】(01)美团 Flink 实时数仓应用_第9张图片
变化频率高的维度

  • 通过维度数据的变化的消息构建拉链表
  • 通过事实数据计算衍生维度构建拉链表

Tips:可以通过Hbase的MIN_VERSIONS方便的构建类似于拉链表的结构。

4.5 实时数仓维度的使用

【实时数仓篇】(01)美团 Flink 实时数仓应用_第10张图片

4.6 实时数仓汇总层的建设

【实时数仓篇】(01)美团 Flink 实时数仓应用_第11张图片

五、仓库的质量保证

实时数仓工具功能结构体图
【实时数仓篇】(01)美团 Flink 实时数仓应用_第12张图片
实时数仓工具——元数据与血缘管理

【实时数仓篇】(01)美团 Flink 实时数仓应用_第13张图片

  • 通过元数据服务生产Catalog
  • 解析 DDL 语句创建更新表
  • 作业信息和运行状态写入元数据

实时数仓工具——数据质量验证

【实时数仓篇】(01)美团 Flink 实时数仓应用_第14张图片
将实时数据写入Hive,使用离线数据持续验证实时数据的准确性。

你可能感兴趣的:(#,----,Flink,Flink)