蜂巢中的增量方法

时间:2017-09-19 03:56:06

标签: hadoop hive

我有一个如下所示的源表 来源表: 第1天:表

Id值start_date 100 v1 2017-01-01 101 v2 2017-02-01

Day1数据应如下所示加载 目标表 Id值start_date end_date 100 v1 2017-01-01 2099-12-31 101 v2 2017-02-01 2099-12-31

在第2天,应根据条件source.value<> target.value

插入新记录

新记录end_date应为2099-12-31,前一行end_date应更新为当前日期,如下所示 目标表

Id值start_date end_date 100 v1 2017-01-01 2017-09-19 100 v2。 2017-01-01 2099-12-31 101 v2 2017-02-01 2017-09-19 101 V3 2017-02-01 2099-12-31

请注意,源表每天都会刷新。

请帮助我了解上面提到的目标表的输出。

1 个答案:

答案 0 :(得分:0)

在最终确定和接近之前,您应该考虑以下几点,例如......

  1. 记录数量非常庞大,使用Hbase存储数据,因为允许更新并构建hive外部表引用相同我怀疑这是否会影响查询使用hive-hbase表的连接大ORC蜂巢表 对于较少数量的记录,请使用HDP建议的增量加载https://hortonworks.com/blog/four-step-strategy-incremental-updates-hive/

  2. 如果出现问题,如何处理问题? :HDP approach中的第4步删除基表并使用新数据重新创建。考虑到几天后您已经注意到数据存在问题,您如何删除base_table?如果您有答案,请转到HDP approach

  3. 方法3:您选择的是第1点,因为Hbase支持更新但是配置单元不支持更新(我想这是您的理解)。是的,你的理解是正确的旧蜂巢版本。但更新可用于启动Hive 0.14

  4. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Update