✨[面试进阶]在Hive数据仓库中的建模方式是?为什么选择这种建模方式?(Hive篇)✨
2023-09-27 14:27:52 时间
🚩 问题分析
本题主要是为了考察面试人员对于业务的熟悉和理解程度,单讲业务建模类型是相对容易的,但是切合业务进行建模就值得我们多多思考了。
🚩 核心问题讲解
Hive作为数据仓库,同关系型数据库开发过程类似,都需要先进行建模。所谓建模,就是对表之间指定关系方式。建模在Hive中大致分为星型、雪花型和星座型。
要对建模深入理解,首先需要对Hive数仓中的集中表概念进行界定。Hive中的表从形态上分内部表、外部表、桶表、分区表。
在数据逻辑上划分为维度表和事实表。维度表等价于我们常说的字典表。事实表就是字典表之外的数据表。
⚽ 星型
多张维度表,一张事实表,维度表之间没有关系。
查询性能要好些,存储有冗余的。星型模型使用的比较多。
⚽ 雪花型
雪花型是星型建模的扩展,维度表之间有关系。
存储减少冗余,查询性能有损失,需要多级连接。和星型模型的共性就是只有一张是事实表。
⚽ 星座型
星座型也是星型模型的扩展,存在多张事实表。
🚩 问题扩展
扩展性差的时候,记住这样一句话:当增加新业务的时候,就需要增加相应的表。
🚩 结合项目中使用
例如:某个业务系统的信息没有提供汇总表,而是新增一种新的业务,就需要新增一张数据表。
我们统计业务量的时候,要拿大几十张数据表进行关联,报表执行效率很差,后面就直接在数据仓库上帮源系统做了张新业务的汇总表,提高了后续报表的加工效率,也屏蔽了新增业务品种对报表的影响。
这里我们可以结合书仓管设计的基本特性来考虑:
(1)清晰数据结构
(2)数据血缘追踪
(3)减少重复开发
(4)复杂问题简单化
(5)屏蔽原始数据的异常
(6)屏蔽业务的影响,不必改一次业务就需要重新接入
我们可以依照这些概念,哪些基本数据分到数仓层,再结合我们的业务需求,逐层构建各个业务上的集市层。
可以有效减少我们后期运营维护的各项成本。
相关文章
- 手把手教你MyEclipseUML建模(下)
- 美赛数学建模 | 信息检索与竞赛工具 降低信息差
- 【UML建模】(7) UML建模之部署图
- 收藏!数据建模最全知识体系解读
- 知识图谱-Schema建模工具(一):Protege【本体编辑器、图形化界面、在线版本WebProtege、只能单人版】
- 第六届全国工业互联网数据创新应用大赛:工业生产反应装置的建模预测【天池】
- 【数模比赛】2023美国大学生数学建模比赛(思路、代码......)
- 数百个HTML5例子学习HT图形组件 – 3D建模篇
- 《数学建模:基于R》——2.4 数学建模案例分析——气象观察站的优化
- ReCap 360 photo照片建模技术的又一个例子
- 《中国人工智能学会通讯》——11.25 单目视频下运动物体建模及分析
- 《中国人工智能学会通讯》——11.67 视觉目标跟踪中的表观建模研究
- 序列搜索/启动子分析/同源建模(转)
- 数学建模(5)---煤矸石堆积问题