hive分区的工作原理

i1icjdpr  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(409)

我想知道Hive分区是如何工作的,我知道这个概念,但我试图了解它是如何工作的,并将其存储在确切的分区中。假设我有一个表,并且我在2013年创建了分区,它是动态的,摄取的数据,所以hive如何创建分区并将精确的数据存储在精确的分区中。

gojuced7

gojuced71#

配置单元将表组织到分区中。它是一种基于分区列(如date)的值将表划分为相关部分的方法。 Partitions -除了作为存储单元之外,还允许用户有效地识别满足特定条件的行。
使用分区,很容易查询部分数据。
表或分区被细分为bucket,以便为数据提供额外的结构,从而可以用于更高效的查询。bucketing的工作原理是基于表中某一列的哈希函数的值。
假设您需要检索2012年加入的所有员工的详细信息。查询在整个表中搜索所需的信息。但是,如果将雇员数据与年份进行分区并将其存储在单独的文件中,则可以减少查询处理时间。

kqqjbcuj

kqqjbcuj2#

如果表没有分区,则所有数据都将不按顺序存储在一个目录中。如果表是分区的(例如按年份),数据将分别存储在不同的目录中。每个目录对应一年。对于非分区表,当您要获取year=2010的数据时,hive必须扫描整个表以找出2010记录。如果表是分区的,那么hive只需转到year=2010目录。更快、io效率更高

相关问题