栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hive 索引

hive 索引

目录
  • 1、机制和原理
  • 2、优缺点
    • 2.1、优点
    • 2.2、缺点
  • 3、索引操作
    • 3.1、创建索引
    • 2、查看索引
    • 3、删除索引
    • 4、加载索引数据
    • 5、使用索引

1、机制和原理

Hive的索引其实是一张索引表(Hive的物理表),在表里面存储索引列的值,该值对应的HDFS的文件路径,该值在数据文件中的偏移量。

当Hive通过索引列执行查询时,首先通过一个MR Job去查询索引表,根据索引列的过滤条件,查询出该索引列值对应的HDFS文件目录及偏移量,并且把这些数据输出到HDFS的一个文件中,然后再根据这个文件中去筛选原文件,作为查询Job的输入。

2、优缺点 2.1、优点
  • 可以避免全表扫描和资源浪费
  • 可以加快含有group by的语句的查询速度
2.2、缺点
  • 使用过程繁琐
  • 需用额外Job扫描索引表
  • 不会自动刷新,如果表有数据变动,索引表需要手动刷新
3、索引操作 3.1、创建索引
create index index_name on table table_name(column_name)
as 'org.apache.hadoop.hive.ql.index.compact.compactindexhandler'
with deferred rebuild
in table index_table_name;

参数解释:

'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler':创建索引需要的实现类
index_name:索引名称
table_name:表名
column_name:索引列名
index_table_name:创建索引后生成的索引表名
2、查看索引
show index on table_name;
3、删除索引
drop index if exists index_name on table_name;
4、加载索引数据
alter index index_name on table_name rebuild;
5、使用索引
set hive.input.format=org.apache.hadoop.hive.ql.io.hiveinputformat;
set hive.optimize.index.filter=true;
set hive.optimize.index.filter.compact.minsize=0;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/487372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号