一、理论知识和项目需求
1.课程介绍

2.数据库与ER建模_数据库三范式


3.数据库与ER建模_ER实体关系模型


4.数据库与维度建模_数据仓库(DATA WAREHOUSE)



5.数据库与维度建模_数据库与数据仓库区别


6.数据库与维度建模_数据仓库的发展历程


7.数据库与维度建模_维度建模


8.数据库与维度建模_维度建模案例


9.数据库与维度建模_数仓分层设计一


10.数据库与维度建模_数仓分层设计二


11.数据库与维度建模_数仓分层设计案例

12.项目需求_项目介绍


数据中心项目中包含业务系统数据和用户行为日志数据。
业务数据即业务系统产生的业务数据,例如:系统中产生的订单、登录、点歌、广告展示等数据。
1
用户行为数据例如:用户在实体机器上操作的行为都是用户行为数据,点击、收藏、扫码等事件。
2
公司针对以上数据进行分析的结果主要有两个应用:
一是针对 BI 系统,商业智能中主要展示更多的报表给公司的运营人员参照。例如:每日歌曲点唱量,每日营收,
机器分布,实时 pv,uv ,用户留存率、漏斗模型等。
1
另一个应用是数据服务,数据服务主要是针对分析后结果数据以接口的形式提供给业务系统来访问,例如 : 推荐系
统,根据歌曲来推荐歌曲,根据歌手来推荐歌曲或者根据用户来推荐歌曲。
2
本项目模块划分:
歌曲热度与歌手热度排行
1
机器相信信息统计
2
日活跃用户统计
3
商户营收统计
4
地区营收统计
5
实时统计所有用户的 PV/UV
6
实时统计歌曲热度
13.项目需求_项目架构

14.项目需求_集群配置_项目人数_周期


15.项目需求_数据来源及采集
以上两种设备产生的数据可以分为两类数据:
是产生的订单数据,会记录到业务数据库。后期直接通过 sqoop 直接抽取 MySQL 中的数据到 HDFS 。
1
是通过 http 请求,上传到专门采集数据的日志服务器上,每天由运维人员将数据打包上传到数据中心平台某个目
录下,然后由定时任务定时来执行 Spark 任务拉取数据,上传至 HDFS 中。这里读取压缩数据使用 SparkCore 进行
处理,处理之后将数据以 parquet 格式或者 json 格式存储在 HDFS 中即可。
16.项目需求_数仓模型设计

内部数据源:主要有 MySQL 和客户端上传 json 数据。 MySQL 使用 Sqoop 抽取
数据到 HDFS 中,导入 ODS 层。客户端产生日志到客户端服务器,客户端服务
器由运维人员每天将数据压缩成包导入到 HDFS 路径中,然后再经过
SparkCore 和 SparkSQL 处理后导入 ODS 层。
EDS(Enterprise Data Store)/DW(Data Warehouse ) 层:
EDS 层负责信息集成、轻度汇总类数据。简单理解就是将事务性的数据组织
成便于分析的仓库维度建模类型的数据,做一些轻度聚合,类似 Hive 中的宽
表。例如:将 ODS 层数据进行清洗,如果主题是用户主题,那么就按照用户
id 为粒度将数据组织在一起。如果主题是机器,那么就按照机器 id 为粒度将
数据组织在一起。
以上 ODS 层和 EDS 层使用 Spark 代码处理数据,然后利用 SparkSQL 读取 ODS
层数据,保存到 Hive 的 EDS 层。
DM(Data Mart) 层:
DM 层的数据有一部分是存储在 Hive 表中,或者保存分析结果到 MySQL 、
HBase 等。 EDS 层数据是 parquet 格式的数据,放在 Hive 的主要原因是后期使
用 Kylin 查询一些业务,数据放 MySQL 的都是结果数据,放在 HBase 的原因
是涉及到大表的明细查询。
以上数据仓库模型的设计表对应关系都在 “ 数据仓库模型 .xlsx” 文件中。

