上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

数据仓库架构详解

guduadmin116小时前

学习目录

  • 一、基本概念
  • 二、核心框架
  • 三、数仓大数据架构详解(流程)

    一、基本概念

    数据仓库(Data Warehouse)是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,为企业指定决策,帮助企业改进业务流程、提高产品数量

    一般数仓分为离线数仓(spark)和实时数仓(flink)

    二、核心框架

    数据仓库架构详解,在这里插入图片描述,第1张

    数据采集

    数据通过DataX或者sqoop可以将业务数据等导入到数据仓库,通过Flume可以将用户行为数据等导入到数据仓库;

    数据分析

    数据通过处理获取有用的数据指标

    • ODS层:原始数据层,用来数据备份
    • DWD层:明细数据层,用来数据清洗
    • DWS层: 汇总数据层,用来数据预聚合
    • ADS层:数据应用层,用来数据统计和计算
    • DIM层:公共维度层,用来数据分类的

      数据可视化

      将处理好的数据指标用在各种模块中

      1. 可视化的报表
      2. 用户画像
      3. 推荐系统
      4. 机器学习

      三、数仓大数据架构详解(流程)

      流程图

      数据仓库架构详解,在这里插入图片描述,第2张

      数据采集

      1. 业务数据通过Nginx采集到业务服务器(Springboot)然后再写到mysql中,用户行为数据通过Nginx采集到日志服务器(Springboot)写入到日志文件中(注:主要由JavaWeb人员负责)
      2. 日志文件的用户行为数据通过Flume将数据先写入kafka(主要作用为消峰),再通过Flume将kafka的数据写入到hdfs
      3. Mysql的业务行为数据通过DataX(全量的同步)将数据写入到hdfs中,也可以使用Maxwell(增量同步)将数据写入到hdfs中

      离线数仓

      1. 将HDFS中的数据进行建模 进行各种数据分层处理 如: ODS层、DIM层、DWD层、DWS层、ADS层等,(基本上都是Sql语句),所以需要DolphinScheduler进行任务调度管理
      2. 处理之后数据,通过DataX(每日同步)结果数据写入到MySQL中
      3. 然后再通过Superset的可视化工具进行数据的展示

      实时数仓

      1. Flink读取kakfa中的数据,而kafka中主题数据即为ODS层
      2. Flink从kafka中读取的数据进行清洗即为DWD层,再次写回到kafka中
      3. Flink读取kafka中DWD层的数据,进行维数数据的处理,通过Hbase存储处理的数据,由于Flume和kafka会造成数据的重复,那么Flink在消费kafka数据的时候可以进行精准一次去重。如果数据量比较小可以不用Flink,而使用Redis旁路缓存去重,即为DIM层
      4. 维度的数据可以通过Redis或者Hbase进行查询
      5. Flink将上面数据写入到ClickHouse进行预聚合,即为DWS层
      6. 最后对ClickHouse数据进行查询,然后通过Springboot(JavaWeb)数据接口服务将查询数据写入到Sugar,进行实时数据的可视化

网友评论

搜索
最新文章
热门文章
热门标签