第一部分,用于如何更容易地更新Hive表
从历史上看,在Apache Hive中保持数据最新,需要定制应用程序开发,这是复杂的,非高性能的,难以维护的。HDP 2.6通过在Hive中引入SQL MERGE从根本上简化了数据维护,补充了现有的INSERT,UPDATE和DELETE功能。
这个博客展示了如何解决常见的数据管理问题,包括:
- Hive插件,将Hive数据与源RDBMS同步。
- 更新数据在Hive中的分区。
- 在Hive中选择性地屏蔽或清除数据。
在稍后的博客中,我们将展示如何使用Hive管理缓慢变化的维度(SCD)。
基本知识:SQL MERGE,UPDATE和DELETE。
这些SQL特性是保持Hadoop中的数据最新的基础,所以让我们快速看一下它们。
MERGE在SQL 2008中被标准化,是一个强大的SQL语句,允许在一个语句中插入,更新和删除数据。MERGE使保持两个系统的一致性变得容易。我们来看看MERGE的SQL规范(稍微简化一下):
合并到< 目标表> USING < 表参考> ON < 检索条件> < 合并时子句> ...
WHEN MATCHED [ AND < search condition > ] THEN < merge merge update or delete specification > WHEN NOT MATCHED [ AND < search condition > ] THEN