gpt4 book ai didi

hadoop - hive 中的增量方法

转载 作者:行者123 更新时间:2023-12-02 20:49:58 28 4
gpt4 key购买 nike

我有一个如下所示的源表
源表:
Day1:餐 table

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

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

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

最佳答案

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

  • 记录数非常大,使用 Hbase 存储数据,因为允许更新并构建 hive 外部表引用相同的我怀疑这是否会影响使用带有大型 ORC hive 表的 hive-hbase 表的连接的查询
    对于较少数量的记录,请使用 HDP 建议的增量加载,https://hortonworks.com/blog/four-step-strategy-incremental-updates-hive/
  • 如果出现问题如何处理问题? : HDP approach中的第四步删除基表并使用新数据重新创建。考虑到您在几天后注意到数据问题,您如何删除 base_table?如果您有答案,请联系 HDP approach .
  • 方法 3:您选择第 1 点是因为 Hbase 支持更新但 hive 不支持更新(我想这是您的理解)。是的,您对旧 hive 版本的理解是正确的。但更新在启动 Hive 0.14
  • 时可用

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

    关于hadoop - hive 中的增量方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46291536/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com