在Hive更新期间,HDFS会(真正)发生什么?

时间:2018-10-25 08:31:40

标签: hadoop hive hdfs

这里是情况:

    已知
  1. HDFS仅附加(本身没有更新 )。
  2. Hive将数据写入位于HDFS中的仓库。
  3. 可以在Hive中执行更新

这意味着要写入新数据,而旧数据应以某种方式标记为已弃用,然后在某些时候擦除掉。

我进行了搜索,但到目前为止仍未找到有关此信息。

1 个答案:

答案 0 :(得分:0)

表的数据存储在一组基本文件中。 新记录,更新和删除存储在增量文件中。

为更改表的每个事务创建一组新的增量文件。阅读器在读取时会合并基本文件和增量文件,并在读取时应用所有更新和删除。

随后,主要压缩会按周期性的时间间隔将较大的增量文件和/或基本文件合并到另一个基本文件中,这将加快进一步的表扫描操作。

以下文档可支持此操作: https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions

希望这会有所帮助。