Hive中表的分段和索引之间的主要区别是什么?
答案 0 :(得分:2)
主要区别在于目标:
Hive索引的目标是提高表的某些列的查询查询速度。如果没有索引,带有谓词的查询(如'WHERE tab1.col1 = 10')会加载整个表或分区并处理所有行。但是如果col1存在索引,那么只需要加载和处理文件的一部分。
当桌子变得非常大时,索引变得更加重要,正如你现在无疑知道的那样,Hive在大桌子上茁壮成长。
它通常用于连接操作,因为您可以通过特定的“密钥”或“id”来分组记录来优化连接。这样,当您想要进行连接操作时,具有相同“键”的记录将位于同一个存储桶中,然后连接操作将更快。您可以将此视为将数据集分解为更易于管理的部分的技术。这个link为您提供了5个有效的Hive查询提示,其中一个是关于Bucketing的。