hive(bigdata)-bucketing和索引之间的区别

6mzjoqzu  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(320)

在hive中对表进行bucketing和索引的主要区别是什么?

tv6aics1

tv6aics11#

主要区别在于目标:
索引
配置单元索引的目标是提高表中某些列的查询查找速度。如果没有索引,使用“where tab1.col1=10”等 predicate 的查询将加载整个表或分区并处理所有行。但是,如果col1存在索引,那么只需要加载和处理文件的一部分。
当表变得非常大时,索引变得更为重要,而且正如您现在无疑知道的那样,配置单元在大型表上蓬勃发展。
木扣
它通常用于连接操作,因为您可以通过按特定的“key”或“id”对记录进行bucketing来优化连接。这样,当您要执行联接操作时,具有相同“key”的记录将位于同一个bucket中,这样联接操作将更快。您可以将其视为一种将数据集分解为更易于管理的部分的技术。这个链接为您提供了5个高效配置单元查询的技巧,其中一个是关于bucketing。

相关问题