索引如何在蜂巢内部工作?

时间:2017-12-06 12:21:21

标签: apache hadoop hive bigdata

索引只是表格特定列上的指针。创建索引意味着在表的特定列上创建指针。如果在表中索引了列,并且在查询该特定列时如何指向该特定列的数据?

1 个答案:

答案 0 :(得分:1)

来自文档

  

Hive索引的目标是提高查询查询的速度   表格的某些列。没有索引,带有谓词的查询   比如'WHERE tab1.col1 = 10'加载整个表或分区   处理所有行。但是如果col1存在索引,则只有a   需要加载和处理文件的一部分。改善   在索引可以提供的查询速度中,代价是   额外的处理来创建索引和磁盘空间来存储   索引。

在场景后面,Hive创建了一个Map,其中包含了索引列的值以及数据位于HDFS中的偏移量+文件,这样,Hive就不需要扫描所有数据了搜索某个值。这是一篇解释基本概念的好文章

https://acadgild.com/blog/indexing-in-hive/