数据仓储设计的基本概念

本文介绍了数据仓储设计的基础,包括维度建模的星型、雪花和星座模式,详细讲解了事实表和维度表的设计。进一步探讨了ETL过程,特别是使用Sqoop进行数据导入和导出,包括从MySQL到HDFS和Hive的导入,增量导入以及从HDFS导出数据到MySQL的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、维度建模基本概念

    维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数
据集市建模的方法。数据集市可以理解为是一种"小型数据仓库"。

维度表

    维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况,
你可以选择按类别来进行分析,或按区域来分析。

事实表

    表示对分析主题的度量。事实表包含了与各维度表相关联的外键,并通过
JOIN 方式与维度表关联。

总结

    事实表的设计是以能够正确记录历史信息为准则,维度表的设计是以能够
以合适的角度来聚合主题内容为准则。

维度建模的三种模式
1.星型模式

    星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为
中心,所有的维度表直接连接在事实表上,像星星一样。

特点:

a. 维表只和事实表关联,维表之间没有关联;
b. 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键;
c. 以事实表为核心,维表围绕核心呈星形分布;

星型模式
2.雪花模式

    雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以
拥有其他维度表的,

缺点:

    这种模型相比星型更规范一些,但是由于这种模型不太
容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模
型要低。所以一般不是很常用。

雪花模式

3.星座模式

    星座模式是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式
是基于多张事实表的,而且共享维度信息。

特点:

    两种维度建模方法都是多维表对应单事实表,但在很多时候维度
空间内的事实表不止一个,而一个维表也可能被多个事实表用到

星座模式

事实表设计:

明细表

明细宽表

维度表设计:
这里写图片描述

二、模块开发——ETL
TL 工作的实质就是从各个数据源提取数据,对数据进行转换,并最终加载
填充数据到数据仓库维度建模后的表中。

几个特殊的解析:

"http://www.google.com/url?sa=t&rct=j&q=nodejs%20%E5%BC%82%E6%AD%A5%E
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值