hive索引


创建

hive (zmgdb)> create index index_t1 on table v_t1(name)
            > as
            > 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler'
            > with
            > deferred rebuild in table save_index_t1_table;

OK
Time taken: 0.524 seconds

save_index_t1_table:保存索引的表。

即创建了的索引,需要一张表去保存,一个索引一张索引保存表,保存在hadoop里。
as 指定索引器,org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler 是固定值,常用的索引器。

重建索引,新增数据要重建索引,这样在保存索引的 t1_index_table 就有索引信息了。

hive (zmgdb)> alter index index_t1 on v_t1 rebuild;

WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Query ID = hadoop_20160923005139_9caf10f1-5481-4de8-b95a-889c19e45032
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Estimated from input data size: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Starting Job = job_1474540738385_0003, Tracking URL = http://hello110:8088/proxy/application_1474540738385_0003/
Kill Command = /home/hadoop/app/hadoop-2.7.2/bin/hadoop job  -kill job_1474540738385_0003
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2016-09-23 00:51:46,046 Stage-1 map = 0%,  reduce = 0%
2016-09-23 00:51:54,485 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 2.91 sec
2016-09-23 00:52:00,724 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 4.76 sec
MapReduce Total cumulative CPU time: 4 seconds 760 msec
Ended Job = job_1474540738385_0003
Loading data to table zmgdb.save_index_t1_table
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 1  Reduce: 1   Cumulative CPU: 4.76 sec   HDFS Read: 9845 HDFS Write: 426 SUCCESS
Total MapReduce CPU Time Spent: 4 seconds 760 msec
OK
Time taken: 22.73 seconds


索引表分析

hive (zmgdb)> select * from save_index_t1_table;
OK
save_index_t1_table.name        save_index_t1_table._bucketname save_index_t1_table._offsets
lisi    hdfs://hello110:9000/user/hive/warehouse/zmgdb.db/v_t1/v_t1     [0]
xiaohua hdfs://hello110:9000/user/hive/warehouse/zmgdb.db/v_t1/v_t1     [49]
xiaoji  hdfs://hello110:9000/user/hive/warehouse/zmgdb.db/v_t1/v_t1     [32]
ximing  hdfs://hello110:9000/user/hive/warehouse/zmgdb.db/v_t1/v_t1     [15]
xx      hdfs://hello110:9000/user/hive/warehouse/zmgdb.db/v_t1/v_t1     [67]
Time taken: 0.073 seconds, Fetched: 5 row(s)

索引里面保存了:索引键内容,内容所在文件位置,内容在文件里的偏移量。
hive select 会去找索引,例如name=lisi的值,找到该值所在的文件位置,和在文件里的偏移量,进入该文件到指定的偏移量里,找出来的就是了。
如果没有索引,会开启mr去目录下全局查找,有了索引,就像书有了目录,不用整本书找了,通过目录找,肯定更快。简单的select 查询hive不启用mapreduce,复杂的会启动。



显示表表的索引

show formatted index on t1;


删除索引

drop index  if exists t1_index on t1;


补充:

表的数据发生改变后,都要重建表的索引。





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539164.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬取知网论文关键词_Python爬虫根据关键词爬取知网论文摘要并保存到数据库中...

由于实验室需要一些语料做研究&#xff0c;语料要求是知网上的论文摘要&#xff0c;但是目前最新版的知网爬起来有些麻烦&#xff0c;所以我利用的是知网的另外一个搜索接口 搜索出来的结果和知网上的结果几乎一样 在这个基础上&#xff0c;我简单看了些网页的结构&#xff0c;…

网页中查看pdf文档

2019独角兽企业重金招聘Python工程师标准>>> 介绍&#xff1a; PDFObject 是一个 JavaScript 库&#xff0c;用来在HTML中动态嵌入 PDF 文档。 实现代码&#xff1a; <script type"text/javascript" src"pdfobject.js"></script>…

导入导出数据

导入数据 从文件中装载数据 hive>LOAD DATA [LOCAL] INPATH ... [OVERWRITE] INTO TABLE t2 [PARTITION (provincebeijing)]; LOCAL&#xff1a;linux本地的文件。无LOCAL&#xff1a;是hdfs的文件 注意&#xff1a; 从本地文件系统中将数据导入到Hive表的过程中&#xf…

python opencv 读取视频流不解码_python + opencv: 解决不能读取视频的问题

博主一开始使用python2.7和Opencv2.4.10来获取摄像头图像&#xff0c;程序如下&#xff1a; cap cv2.VideoCapture(0) ret, frame cap.read()使用这个程序能够打开摄像头并获取图像&#xff0c;一切正常。 接着想使用OpenCv播放视频&#xff0c;按照官方教程只要将VideoCaptu…

jmeter提取mysql返回值_jmeter连接数据库和提取数据库返回值

一、在MySQL命令行中&#xff0c;验证MySQL是否能正常登陆。若不能登陆&#xff0c;则重置MySQL的密码。二、下载mysql-connector-java-5.1.45-bin.jar&#xff0c;将其放入Jmeter安装目录的lib目录下。完成MySQL数据库的驱动。三、右键“线程组”->“配置元件”->“JDBC…

[转] Lodash

与underscore 类似 &#xff0c; 是1个js库&#xff0c;内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数。 模块组成 Lodash 提供的辅助函数主要分为以下几类&#xff0c;函数列表和用法实例请查看 Lodash 的官方文档&#xff1a; Array&#xff0c;适用于数组类型…

读模式与写模式

RDBMS是写模式 Hive是读模式 我们传统的关系型数据库RDBMS是写模式。在RDBMS里&#xff0c;我们对表进行数据操作时候&#xff0c;RDBMS会用数据库的第一第二第三范式去检查数据的规范性&#xff0c;如果不符合规范&#xff0c;数据库就拒绝数据的加载和操作。这个验证过程消耗…

用python画雨滴_Python编程从入门到实践练习(雨滴)

雨滴&#xff1a;寻找一幅雨滴图像&#xff0c;并创建一系列整齐排列的雨滴。让这些雨滴往下落&#xff0c;直到到达屏幕后消失。 先说今天的问题&#xff1a; 1.在更改函数形参时&#xff0c;调用的时候也要修改&#xff0c;否则会出现AttributeError 值得注意的是&#xff1a…

python你是否也走进了这个误区了_Python是不是被严重高估了?

是python被曲解了python有非常强的局限性&#xff0c;那就是只适合在io和网络或其他整合组件上耗费大量时间的快速迭代跨平台需求&#xff0c;比如爬虫和下载快速迭代才能显示出python作为脚本语言不用编译的优势&#xff0c;而io和网络的大量时间消耗才能掩盖python本身糟糕透…

Hive文件格式

Hive有四种文件格式&#xff1a;TextFile&#xff0c;SequenceFile&#xff0c;RCFile&#xff0c;ORC TextFile 默认的格式&#xff0c;文本格式。 SequenceFile 简介 见&#xff1a;http://blog.csdn.net/zengmingen/article/details/52242768 操作 hive (zmgdb)>cre…

learnpythonthehardway下载_Python【十一】:阶段小结

今天来将前一段时间学习的Python的知识系统地梳理一遍&#xff0c;接下来开始实际的编程实践了。 一、Python实验环境搭建 使用Python编程&#xff0c;首先要有一个开发环境&#xff0c;如同C/C上又VS2008家族一样&#xff0c;Linux/MacOS上的部署情况这里不再详述&#xff0c;…

python使用ssh 中文_Python3制作简易SSH登录工具

下载W3Cschool手机App&#xff0c;0基础随时随地学编程>>戳此了解导语做这个的起因大概是&#xff1a;电脑里的Xshell不知道为啥突然显示“评估期已过”之类的提示。。。记得之前认证学校邮箱后是可以免费使用的。。。苍天绕过谁。。。想起上次认证学校邮箱过了N个小时才…

hive java导入CVS

原文&#xff1a;http://bbs.chinahadoop.cn/thread-5343-1-1.html ---------------------------------------------------------------------------------- 本文的目的是hive读取cvs文件&#xff0c;忽略字段中‘\,’&#xff0c;最终还是以,来分割文本 cvs格式是以逗号,隔开…

Django 博客教程(三):创建应用和编写数据库模型

创建 django 博客应用 在上一章节中我们创建了 django 博客的工程&#xff0c;并且成功地运行了它。然而这一切都是 django 为我们创建的项目初始内容&#xff0c;django 不可能为我们初始化生成我们需要的博客代码&#xff0c;这些功能性代码都得由我们自己编写。 django 鼓励…

python将16进制字符串转换为整数_Python 16进制与字符串的转换

电脑上装了Python2.7和3.3两个版本&#xff0c;平时运行程序包括在Eclipse里面调试都会使用2.7&#xff0c;但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理&#xff0c;因为这样可以对两个版本的差异有一个测试&#xff0c;而且虚拟机里面是2.…

python多个文件打包成exe_多个py文件生成一个可运行exe文件

一、概述 目前有一个python脚本,需要在别的电脑中运行,安装python环境太麻烦,封装成exe文件,运行比较方便。 二、演示 环境说明 python版本:3.7.9 操作系统:windows 10 安装模块 pip3 installer pyinstaller 封装 新建目录test,目录结构如下: ./├── conf.py └── …

CSV文件的转义处理

原文&#xff1a;http://blog.csdn.net/maqingli20/article/details/7095132 ------------------------------------------------------------------------------------ CSV文件是一种适合程序格式化输出数据的文件格式。它使用英文逗号作为列分隔符&#xff0c;文件可以直接用…

华为读取版本exe_关于esrv_svc.exe和SurSvc.exe疑似泄露用户信息的猜测

封面图片来源&#xff1a;https://www.weibo.com/1885454921/GpBhR3vpk?typerepost#_rnd1573301201348抱歉&#xff0c;写网页文章的次数不多&#xff0c;排版没研究过&#xff0c;请原谅。下面是正题&#xff1a;由来&#xff1a;最初是借由火绒的自定义防护规则&#xff0c;…

gitlab ci mysql_php-Gitlab CI:在阶段之间保留MySQL数据

根据Gitlab问题页面&#xff1a;Share service between build stages.Gitlab-CI的设置方式如下&#xff1a;each job is run in each job is run independently of the others,including potentially running on different machines. And the servicesare run locally on each …