为了账号安全,请及时绑定邮箱和手机立即绑定

Hive扩展功能(八)--表的索引

标签:
大数据

软件环境:

linux系统: CentOS6.7Hadoop版本: 2.6.5zookeeper版本: 3.4.8

</br>

主机配置:

一共m1, m2, m3这三部机, 每部主机的用户名都为centos
192.168.179.201: m1 192.168.179.202: m2 192.168.179.203: m3 m1: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Master, Workerm2: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Workerm3: Zookeeper, DataNode, NodeManager, Worker

资料

官方资料:    https://cwiki.apache.org/confluence/display/Hive/IndexDev    https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Create/Drop/AlterIndex

</br>
</br>

一. 编辑hive-site.xml文件
<property>
    <name>hive.optimize.index.filter</name>
    <value>true</value></property><property>
    <name>hive.optimize.index.groupby</name>
    <value>true</value></property><property>
    <name>hive.index.compact.file.ignore.hdfs</name>
    <value>true</value></property>

</br>
</br>

二. 创建Hive表索引

官方资料:    https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Indexing

1.创建/构造, 显示, 删除索引:
create index table01_index on table table01 (column2) as 'compact';
show index on table01;
drop index table01_index on table01;

2.创建时重构, 格式化显示 (with column names), 删除索引:
create index table02_index on table table02 (column3) as 'compact' with deferred rebuild;
alter index table02_index on table2 rebuild;
show formatted index on table02;
drop index table02_index on table02;

3.创建索引视图, 构建, 显示, 删除:
create index table03_index on table table03 (column4) as 'bitmap' with deferred rebuild;
alter index table03_index on table03 rebuild;
show formatted index on table03;
drop index table03_index on table03;
4.在新表中创建索引:
create index table04_index on table table04 (column5) as 'compact' with deferred rebuild in table table04_index_table;

5.创建索引以RCFile的存储格式:
create index table05_index on table table05 (column6) as 'compact' stored as RCFile;

6.创建索引以TextFile的存储格式:
create index table06_index on table table06 (column7) as 'compact' row format delimited fields terminated by '\t' stored as textFile;

7.创建索引和索引的属性:
create index table07_index on table table07 (column8) as 'COMPACT' idxproperties ("prop1"="value1", "prop2"="value2");

8.创建索引和表的属性:
create index table08_index on table table08 (column9) as 'compact' tblproperties ("prop3"="value3", "prop4"="value4");

9.索引如果存在则删除:
drop index if exists table09_index on table09;

10.重构一个分区的数据:
alter index table10_index on table10 partition (columnX='valueQ', columnY='valueR') rebuild;

</br>
</br>
</br>

             




作者:咸鱼翻身记
链接:https://www.jianshu.com/p/0d6bca39bb4c

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
40
获赞与收藏
125

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消