数仓项目介绍

数仓项目介绍

1. 岗位

  1. 数仓开发
  2. 用户画像
  3. 实时开发

2. 架构—工具

  1. CDH
  2. DataX
  3. FineReport

3. 项目

  1. 纯SQL开发
  2. SQL调优

4. 项目分析

1
2
3
4
graph LR
a(需求分析) --> b[项目准备]
b --> c(项目开发)
c --> d(验收)
  1. 数仓架构的优缺点

  2. 需求

    1. 销售需求
    2. 会员需求
    3. 供应链需求
    4. 商品需求
  3. 技术架构

    1. 项目介绍

      • 项目内容
      • 项目架构
        • 技术架构:语言、工具
        • 数据流向:数据从哪到哪,各个组件的作用
      • 本人主要负责的内容
        • 全栈
    2. 架构图

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      graph LR
      1[mysql] --> a[数据采集]
      2[sql server] --> a[数据采集]
      3[excel] --> a[数据采集]
      4[...] --> a[数据采集]
      a --> b[数据存储]
      b -.计算引擎.-> 5[Hive]
      b -.交互式查询.-> 6[presto]
      5 --> c[数据导出]
      6 --> c[数据导出]
      c --> d[指标结果库:postgreSQL]
      d --> e[报表分析展示]
      • CDH:集群管理
      • Apache DolphinScheduler:调度系统
    3. 项目人员

    4. 开发周期

    5. 架构选型

      1. 传统数仓(比尔·恩门 1991年)

        1. 自上而下

          1
          2
          3
          4
          5
          graph LR
          a[数据源] --> b[ETL]
          b --> c[数据仓库]
          c --> d[主题]
          d --> e[分析结果]
        2. 3NF

          1. 1NF:每一列具备原子性,不可再分
          2. 2NF:消除完全依赖(非主属性对主属性的依赖)
          3. 3NF:消除传递依赖(非主属性对主属性的传递依赖)
        3. 自下而上(从需求到数据源,业务驱动)

          1
          2
          3
          graph LR
          1[主题] --> 2[数据仓库]
          2--> 3[分散异构的数据源]
      2. 离线数仓

        1. 数仓分层
          1. 经典三层架构
            • ODS
            • DW
            • DM
          2. 五层架构
            • ODS
            • DWD
            • DWM
            • DWS
            • DM
    6. 服务器规划

      • Hadoop发行版选择
      • 服务器配置
      • 集群数据规模
      • 软件版本
  4. 搭建环境

    1. cloudera Manager的介绍和架构
    2. 环境部署(操作)
    3. 业务数据介绍
      1. 数据源
        1. MySQL
          1. 维度数据
          2. 销售数据
          3. 会员数据
        2. SQLserver
          1. 订单数据
          2. 库存数据
      2. 业务数据导入