数据仓库系列--维度表技术

本文详细介绍了数据仓库中维度表的各种技术,包括增加列、维度子集、角色扮演维度、层次维度、退化维度、杂项维度、维度合并和分段维度。特别强调了在Hive中处理这些技术时的注意事项,如空值处理、维度子集的实现方式以及排序子句的使用。此外,文章提供了具体的函数应用示例,如grouping__id、rollup和concat_ws等,帮助理解层次维度的构建和处理。
摘要由CSDN通过智能技术生成

  维度表技术常见:增加列,维度子集,角色扮演维度,层次维度,退化维度,杂项维度,维度合并,分段维度等基本维度表技术。

 

一.增加列

事实表和维度表上增加列。

Hive上增加列,慎用alter table。原因老版本的hive对ORC格式表的模式修改,尤其是增加列的支持存在很多问题。

JIRA上说2.0.0修复了ORC表模式修改问题。

空值处理:<=>

 

二.维度子集

  有些需求不需要最细节的数据。此时事实数据需要关联特定的维度,这些特定维度包含在从细节维度选择的行中,所以叫维度子集。

 

细节维度和维度子集具有相同的属性或内容,具有一致性。

 

1.建立包含属性子集的子维度

比如需要上钻到子维度。

 

2.建立包含行子集的子维度

当两个维度处于同一细节粒度,但是其中一个仅仅是行的子集,会产生另外一种一致性维度构造子集。

某些版本的Hive中,对ORC表使用overwrite会出错,为保持兼用性,使用truncate 。

 

3.使用视图实现维度子集

实现维度子集,这种方式两个主要问题:一需要额外的存储空间,因为新创建的子维度是物理表;二是存在数据不一致的潜在风险。

 

为解决上述问题,常用做法是在基本维度上建立视图生成子维度。

优点:实现简单,不需要修改原来脚本的逻辑;不占用存储空间,因为视图不真正存储数据;消除数据不一致的可能。

要想在百度八亿网页的数据海洋中找到你所要的信息, 人工方式需要1200 多人年,而百度搜索技术不到1 秒钟。人 们被数据淹没,却渴望知识。商务智能技术已成为当今企业 获取竞争优势的源泉之一。商务智能通常被理解为将企业中 现有的数据转化为知识,帮助企业做出明智决策的IT工具集。 其中数据仓库、OLAP和数据挖掘技术是商务智能的重要组成 部分。商务智能的关键在于如何从众多来自不同企业运作系 统的数据中,提取有用数据,进行清理以保证数据的正确性, 然后经过抽取、转换、装载合并到一个企业级的数据仓库里, 从而得到企业数据的一个全局视图,并在此基础上利用适当 的查询分析、数据挖掘、OLAP等技术工具对其进行分析处理, 最终将知识呈现给管理者,为管理者的决策过程提供支持。 可见,数据仓库技术是商业智能系统的基础,在智能系统开 发过程中,星型模式设计又是数据仓库设计的基本概念之一。 星型模式是由位于中央的事实表和环绕在四周的维度表 组成的,事实表中的每一行与每个维度表的多行建立关系, 查询结果是通过将一个或者多个维度表与事实表结合之后产 生的,因此每一个维度表和事实表都有一个“一对多”的连 接关系,维度表的主键是事实表中的外键。随着企业交易量 的越来越多,星型模式中的事实表数据记录行数会不断增加, 而且交易数据一旦生成历史是不能改变的,即便不得不变动, 如对发现以前的错误数字做修改,这些修改后的数据也会作 为一行新纪录添加到事实表中。与事实表总是不断增加记录 的行数不同,维度表的变化不仅是增加记录的行数,而且据 需求不同维度表属性本身也会发生变化。本文着重讨论数据 仓库维度表的变化类型及其更新技术
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李孟聊人工智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值