如何在 Apache Hive 中管理修改后的数据

how to manage modified data in Apache Hive

我们正在研究 Cloudera CDH 并尝试对存储在 Apache Hadoop 上的数据执行报告。我们每天向客户发送报告,因此需要每天将数据从运营商店导入 hadoop。

Hadoop 在仅追加模式下工作。因此我们无法执行 Hive update/delete 查询。我们可以对维度表进行 Insert overwrite,并在事实表中添加 delta 值。每天为增量行引入数千似乎不是很令人印象深刻的解决方案。

有没有其他更好的标准方法来更新 Hadoop 中修改后的数据?

谢谢

HDFS 可能仅附加,但 Hive 从 0.14 开始支持更新。

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

一种设计模式是每次都获取所有以前和当前的数据并将其插入到新的 table 中。

根据您的用例,查看 Apache Impala/Hbase/... 甚至 Drill。