大数据全系列 教程
1869个小节阅读:464.8k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
数据仓库按照主题分为三个主题:用户、机器、内容(歌曲相关、歌手相关)。每个主题下面都有对应的表。数据仓库的设计分为三层,如下:
ODS文件中是从业务数据库中抽取出来数据表的原数据, 数据从关系型数据库MySQL中导入,转换成Parquet格式的文件存在HDFS中,后期方便使用SparkSQL处理。
ODS层数据来源如下:
外部数据源:网易云爬取歌曲热度数据、歌手热度数据,爬取数据是json格式的数据。
内部数据源:主要有MySQL和客户端上传json数据。MySQL使用Sqoop抽取数据到HDFS中,导入ODS层。客户端产生日志到客户端服务器,客户端服务器由运维人员每天将数据压缩成包导入到HDFS路径中,然后再经过SparkCore和SparkSQL处理后导入ODS层。
EDS层负责信息集成、轻度汇总类数据。简单理解就是将事务性的数据组织成便于分析的仓库维度建模类型的数据,做一些轻度聚合,类似Hive中的宽表。例如:将ODS层数据进行清洗,如果主题是用户主题,那么就按照用户id为粒度将数据组织在一起。如果主题是机器,那么就按照机器id为粒度将数据组织在一起。
以上ODS层和EDS层使用Spark代码处理数据,然后利用SparkSQL读取ODS层数据,保存到Hive的EDS层。
DM层的数据有一部分是存储在Hive表中,或者保存分析结果到MySQL、HBase等。EDS层数据是parquet格式的数据,放在Hive的主要原因是后期使用Kylin 查询一些业务,数据放MySQL的都是结果数据,放在HBase的原因是涉及到大表的明细查询。
以上数据仓库模型的设计表对应关系都在“数据仓库模型.xlsx”文件中。
数据仓库命名规范:参照“数据仓库模型.xlsx”文件<