项目概述
本项目基于尚硅谷的车险离线数仓项目。以模拟生成的车险数据作为依托,包含数据的同步、数仓分层理论、维度建模理论、数仓工作流调度、数据结果展示等内容。本文是对该项目进行一个汇总型的总计,建议完成该项目后再来阅读本文。
在本文中,我们将简述该项目中所使用到的所使用到的技术栈,并对数仓建模相关的内容进行介绍。
因为该项目主要面向的是数仓建模,大数据相关技术栈的使用内容,因此不会涉及到较为复杂的sql内容,推荐各位大数据方向的小伙伴如果有练习sql的需要,可以使用牛客的在线练习,一些进阶内容和企业面试题目还是难度相对在线的。
技术栈
- Hadoop/yarn:分布式计算的底层框架,hadoop包含hdfs、yarn、mapreduce。hdfs负责文件的存储,yarn负责资源管理,mapreduce负责计算。我们这里将Hadoop的mapreduce更改成spark,提高效率。
- HDFS:作为底层集群的分布式文件系统,多台服务器可以通过访问hdfs上的文件实现分布式的计算。如果某些计算需要在集群上进行,则必须将文件放在hdfs上使得所有的节点都能够正常访问到对应的文件。
- MySQL:用于存放hive数仓、dolphin scheduler、superset等工具的元数据管理| 原始数据来源| 最终ads层数据的落库。
- hive数仓:作为数据仓库,分层存放各层次需求的数据,从ods层同步数据一直到ads层最终实际需求中的数据。通过HQL对数据进行检索和筛选。hive中的数据存放在hdfs中,元数据交托于MySQL进行管理。
在本项目中,我们使用hive on spark,即hive的执行引擎从效率较低的mapreduce转化成效