Hive 支持索引(3.0 版本之前),但是 Hive 的索引与关系型数据库中的索引并不相同,比如,Hive 不支持主键或者外键。并且 Hive 索引提供的功能很有限,效率也并不高,因此 Hive 索引很少使用。
Hive只有有限的索引功能,没有普通关系型数据库中键的概念,但是可以对一些字段来建立索引,加速某些操作,一张表的索引数据存储在另外一张表中。维护索引需要额外的存储空间,同时创建索引也需要消耗计算量。
索引适用的场景:
适用于不更新的静态字段。以免总是重建索引数据。每次建立、更新数据后,都要重建索引以构建索引表。
创建索引
CREATE TABLE employees(
name string,
salary float,
subordinates ARRAY<string>,
deductions MAP<string,float>,
address struct<street:STRING, city:STRING, state:STRING, zip:INT>
)