文章来自:http://lxw1234.com/archives/2015/05/207.htm
Hive是支持索引的,但基本没用过,只做了下试验。
为什么大家都不用,肯定有它的弊端。
Hive索引机制:
在指定列上建立索引,会产生一张索引表(Hive的一张物理表),里面的字段包括,索引列的值、该值对应的HDFS文件路径、该值在文件中的偏移量;
在执行索引字段查询时候,首先额外生成一个MR job,根据对索引列的过滤条件,从索引表中过滤出索引列的值对应的hdfs文件路径及偏移量,输出到hdfs上的一个文件中,然后根据这些文件中的 hdfs路径和偏移量,筛选原始input文件,生成新的split,作为整个job的split,这样就达到不用全表扫描的目的。
Hive索引建立过程:
-
创建索引:
create index lxw1234_index on table lxw1234(key) as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' with deferred rebuild;
之后在Hive中会创建一张索引表,也是物理表:
其中,索引表中key字段,就是原表中key字段的值,_bucketname 字段,代表数据文件对应的HDFS文件路径,_offsets 代表该key值在文件中的偏移量,有可能有多个偏移量,因此,该字段类型为数组。
其实,索引表就相当于一个在原表索引列上的一个汇总表。
-
生成索引数据
alter index lxw1234_index on lxw1234 rebuild;
用一个MR任务,以table lxw1234的数据作为input,将索引字段key中的每一个值及其对应的HDFS文件和偏移量输出到索引表中。
-
自动使用索引
-
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;
查询时候索引如何起效:
select * from lxw1234 where key = '13400000144_1387531071_460606566970889';
剩下的流程图不贴了,到原文看吧: http://lxw1234.com/archives/2015/05/207.htm
相关推荐
这里详细的介绍了hive的原理,形象的分析了hive的原理,流程
Hive原理与实现 详细介绍了hive的原理
hadoop入门学习教程 之10.Hive工作原理和基本使用,出自《Cloudera Hadoop 4 实战课程》,hadoop入门学习教程用到技术:CDH4,Cloudera Manager,Hive,HBase,Sqoop, Hadoop培训视频教程涉及项目:电商业日志流量...
大数据hive实现原理.zip
pdf文件讲述hive实现原理,图文并茂。
1 Hive 概念与连接使用: 2 2 Hive支持的数据类型: 2 2.1原子数据类型: 2 2.2复杂数据类型: 2 2.3 Hive类型转换: 3 3 Hive创建/删除数据库 3 3.1创建数据库: 3 3.2 删除数据库: 3 4 Hive 表相关语句 3 4.1 Hive ...
Hive原理、语法笔记简介(还有案例帮助记忆),可以当作字典查询
HiveSQL编译原理
hive的安装与使用过程,是你不敢相当于还能修复好的哈人家还能够充分股份都是
大数据技术基础实验报告-Hive安装配置与应用
详细调研hivemetastore管理机制.zip
Hive优化以及执行原理,一位前辈总结的hive知识,个人觉得非常有用,资源难找,现在贡献给大家,独乐乐不如众乐乐。
HiveSQL解析原理
Hive 简明教程 第一部分:完全以日常使用为目标...所以第二部分主要内容是Hive 原理与优化。 第三部分:讲解Hive 的一系列技术细节,以满足技术人员想了解技术细节的要求,为能更加 高效和灵活地使用Hive 提供技术基础
毕业设计,采用Hadoop+Hive构建数据仓库,使用django+echarts构建前端web网站对业务指标进行可视化呈现 1. Hadoop+Hive构建数据仓库 2. django+echarts网站开发 3. 数据清洗,数据模型构建 毕业设计,采用Hadoop+...
大规模数据查询Hive及Impala技术原理及架构
hive hive hive hive hive hive hive hive hive hive hive hive
大数据技术基础培训-Hive的原理与操作.pptx
大数据Hive架构原理.pdf