黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)

日期时间维度设计

目标:掌握日期时间维度的需求与设计

路径

  - step1:需求
  - step2:设计

实施

需求:构建日期时间维度表,得到所有年、季度、月、周、日的维度信息

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第1张图片

 统计不同时间维度下的呼叫次数、工单数、维修数、安装数、报销金额、核销数等

设计

    - 数据来源:提前通过程序生成构建,不是从数据中抽取


    
    - 执行周期:每一年生成下一年的每一天的维度信息,**增量**同步到维度表的分区中

日期时间维度构建

目标:实现日期时间维度表的构建

实施

  建维度表

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第2张图片

加载数据

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第3张图片

服务网点维度设计

目标:掌握服务网点维度的需求与设计

路径

  - step1:需求
  - step2:设计

实施

需求:构建服务网点维度表,得到服务网点id、网点名称、网点所属的地理区域、服务网点状态等

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第4张图片

 统计不同服务网点的服务人员数、工单数、核销数等

  设计

数据来源

      - ciss_base_servicestation:服务网点信息表

      - eos_dict_type:字典状态类别表,记录所有需要使用字典标记的表


    
    - eos_dict_entry:字典状态明细表,记录所有具体的状态或者类别信息

      - ciss_base_areas:行政地区信息表

        - 通过具体的id关联所有地区信息

    实现设计


黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第5张图片    

服务网点维度构建

目标:实现服务网点维度的构建

实施

  建维度表

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第6张图片

 加载数据

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第7张图片
   

  • cross join:笛卡尔积,join时候不给关联条件

    • select * from A,B

    • select * from A join B

    • cross join   

 查看结果
黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第8张图片
 

油站维度设计

目标:掌握油站维度的需求与设计

路径

  - step1:需求
  - step2:设计

实施

需求:构建油站维度表,得到油站id、油站名称、油站所属的地理区域、所属公司、油站状态等

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第9张图片

设计

数据来源

ciss_base_oilstation:油站信息表

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第10张图片

      - eos_dict_type:字典状态类别表,记录所有需要使用字典标记的表

   - eos_dict_entry:字典状态明细表,记录所有具体的状态或者类别信息

      - ciss_base_baseinfo:客户公司信息表【公司ID、公司名称】

        - 数据有重复,做个去重

      - ciss_base_customer:客户信息表【客户id、客户省份名称、所属公司ID】

      - ciss_base_areas:行政地区信息表

        - 通过具体的id关联所有地区信息

          实现设计 

      - 所有表按照对应字段关联,获取对应的属性字段

      油站维度构建

目标:实现油站维度的构建

实施

建维度表

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第11张图片

 抽取数据

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第12张图片

  - 查看结果

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第13张图片

其他维度:组织机构

目标:实现组织机构维度的设计及构建

路径

  - step1:需求
  - step2:设计
  - step3:实现

实施

  需求:实现组织机构维度表的构建,得到每个工程师对应的组织机构信息

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第14张图片

- 统计不同服务人员的工单数、核销数等

设计

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第15张图片

 黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第16张图片
​    

实现

    建维度表

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第17张图片

抽取数据 黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第18张图片

其他维度:仓库、物流

目标:实现仓库维度、物流维度的构建

路径

  - step1:仓库维度
  - step2:物流维度

实施

  仓库维度

    - 建表

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第19张图片加载

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第20张图片物流维度

    - 建表

黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第21张图片

加载 黑马Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(2)_第22张图片

  附录一:常见问题

1.错误:没有开启Cross Join

Spark2.x默认不允许执行笛卡尔积,除非**显示申明cross join**或者开启属性:`spark.sql.crossJoin.enabled  true`

2.错误:Unable to move source

 

- 重启SparkSQL的ThriftServer,与MetaStore构建新的会话连接

你可能感兴趣的:(大数据,hive,Spark,hive,spark,大数据,数仓工业项目)