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, ...)] [TBLPROPERTIES (...)];
使用bitmap索引处理器:适用于排重后值较少的列,例如枚举值。
Hive索引的重建
重建索引的必要性:索引表不会自动重建,如果表有数据新增或删除,必须手动重建索引表数据。
重建索引的语法:
ALTER INDEX index_name ON TABLE table_name PARTITION (partition_spec) REBUILD;
Hive索引的显示和删除
显示索引:可以使用SHOW FORMATTED INDEX ON table_name;命令来查看表的索引信息。
删除索引:如果索引不再需要,可以使用DROP INDEX IF EXISTS index_name ON table_name;命令来删除索引。