更新HIve表的简单方法2

这是系列的第二部分。

管理缓慢变化的维度

第1部分中,我们展示了使用SQL MERGE,UPDATE和DELETE更新Hive中的数据是多么容易。让我们把事情做好,看看Hive中用于管理缓慢变化维度(SCD)的策略,这些维度可以让您随时分析数据的整个变化。

在数据仓库中,缓慢变化的维度(SCD)捕获的数据在不规则和不可预知的时间间隔内变化。根据不同的业务需求,管理SCD有几种常用的方法。例如,您可能想要跟踪客户维度表中的完整历史记录,以便随时跟踪客户的发展情况。在其他情况下,您不关心历史,但需要一种简单的方法将报告系统与源操作数据库同步。

最常见的SCD更新策略是:

  • 类型1:用新数据覆盖旧数据。这种方法的优点在于它非常简单,只要您希望轻松地将报告系统与操作系统同步,就可以使用它。缺点是你每次更新都会丢失历史记录。
  • 类型2:添加版本历史记录的新行。这种方法的优点是它可以让你跟踪完整的历史记录。缺点是您的维度表增长不限,可能会变得非常大。当您使用Type 2 SCD时,通常还需要创建其他报告视图来简化仅查看最新维度值的过程。
  • 类型3:添加新行并管理受限版本历史记录。类型3的优点是您可以获得一些版本历史记录,但维度表与源系统保持相同的大小。您也不需要创建其他报告视图。缺点是你得到有限的版本历史,通常只包括最近的2或3个变化。

本博客展示了如何使用Hive在HDP 2.6中引入的新MERGE功能管理Apache Hive中的SCD。这里的所有例子都被捕获到一个GitHub存储库中,以便在您的Hadoop集群上轻松复制。由于管理SCD的方式有很多变化,所以参考标准文献(例如“数据仓库工具包”)可以获得更多的想法和方法。

hive- SCD策略概述

Hive SCD策略概述 Hive SCD策略概述

入门:通用元素

所有这些示例都是以作为外部表格加载的分阶段数据开始的,然后将其复制到可用作合并目标的Hive托管表中。第二个外部表,表示来自操作系统的第二个完整转储,也作为另一个外部表加载。两个外部表格都具有相同的格式:由ID,名称,电子邮件和状态组成的CSV文件。初始数据加载有1,000条记录。</

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值