首页 > 解决方案 > 为什么需要对 Hive 表进行分桶以支持 ACID 事务?

问题描述

我想知道为什么需要对 hive 表进行存储以支持 ACID 事务。这只是一些蜂巢怪癖吗?还是背后有什么原因?

标签: hiveacid

解决方案


以下是有关 hive 压实机的一些信息:

压缩器运行后台 MapReduce 作业以压缩 delta 和基本文件。有两种类型的压缩:主要和次要。次要压缩将许多小的 delta 文件合并为一个大的 delta 文件。主要压缩更昂贵,它需要增量文件并将它们与基本文件合并。所有合并都是通过创建一个新文件并删除旧文件来进行的。有一个特殊的清洁过程可以做到这一点。对每个桶分别进行压缩。Base 和 Delta 文件是按桶创建的。

更多信息:https ://cwiki.apache.org/confluence/display/Hive/Hive+Transactions

因此,桶越多,压缩越快。


推荐阅读