1. 模块开发之数据仓库设计
a. 维度建模的基本概念(如何来构建数仓中的表)
维度建模是专门应用于分析型数据库,数据仓库,数据集市建模的方法。(不能用于关系型数据库)。
- 事实表:一般和分析的主题有关
需求:分析最近一年的订单销售情况
主题:订单
事实表:分析主题的度量(订单详细数据)
特点:一堆主键的聚集
- 维度表:描述分析问题的角度
包含单一主键的列
b. 维度建模的三种模式
- 星型模式:一个事实表,多个维度表,维度表之间是没有关联的
- 雪花模式:一个事实表,多个维度表,维度表之间有关联的(维护成本比较高,避免设计成这种模式)
- 星座模式:多个事实表,多个维度表,维度表在某种情况下可以共用,维度表关联多个事实表。(中后期常见的模型)
2. 数据仓库设计
hive的三层架构,ods(源数据),dw(数据仓库层),DA(数据应用仓库),三层都是逻辑分层,我们可以用不同的表名,数据库名来识别。
事实表:
维度表:
a. 创建数据库
create database itheima_weblog;
b. 创建原始表数据和加载数据
create table ods_weblog_origin( valid string, remote_addr string, remote_user string, time_local string, request string, status string, body_bytes_sent string, http_referer string, http_user_agent string) partitioned by (datestr string) row format delimited fields terminated by '