整理两年前草稿
hive索引通过减少过滤操作所需要的列数,增加查询效率。
hive的索引其实是一张表,表的记录结构为:col1,col2...-key,其中key对应file-name+offset(row或block的firstrow),注意区别B树索引,hive的索引不需要排序,不支持rangeScan,支持索引键满足的聚集。
索引条件:
只支持单表索引,不支持多表链接索引
不支持在视图上创建索引
底层文件系统支持基本文件指针操作
CREATE INDEX index_name
ON TABLE base_table_name (col_name, ...)
AS 'index.handler.class.name'
[WITH DEFERRED REBUILD]
[IDXPROPERTIES (property_name=property_value, ...)]
[IN TABLE index_table_name]
[PARTITIONED BY (col_name, ...)]
[
[ ROW FORMAT ...] STORED AS ...
| STORED BY ...
]
[LOCATION hdfs_path]
[TBLPROPERTIES (...)]
[COMMENT "index comment"]