`

HIVE 创建索引

    博客分类:
  • HIVE
 
阅读更多
4.索引的建立与使用

语法如下:

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, ...)]
[
   [ ROW FORMAT ...] STORED AS ...
   | STORED BY ...
]
[LOCATION hdfs_path]
[TBLPROPERTIES (...)]
[COMMENT "index comment"]
AS ...语句指定了 索引处理器,也就是一个实现了索引接口的Java类。
5.建立完索引之后 需要重建索引数据,会触发一个mr job
ALTER INDEX employee_index
ON TABLE employee
PARTITION (country = 'US')
REBUILD;

6.建立完可以通过显示命令显示索引

SHOW FORMATTED INDEX ON employees;
7.想要索引在查询时,生效,还得设置使用索引:默认是不使用的。
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;
8. 删除索引
DROP INDEX IF EXISTS employees_index ON TABLE employees;
注意:TEZ 不支持索引的创建,在创建索引时需要把hive 的执行引擎修改为MapReduce

作者:hiekay
链接:https://www.jianshu.com/p/5cdb43740dd4
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
分享到:
评论

相关推荐

    13-Hive基本操作1

    Hive支持创建索引以优化查询性能,但这个功能并不广泛使用,因为Hive主要针对大数据的离线分析。 11. **表的分区和桶**: 分区允许将大表逻辑上划分为更小的部分,以便于查询优化。例如,`CREATE TABLE my_table ...

    hive2.1.1中orc格式读取报数组越界错误解决方法

    它提供了压缩、索引和列式存储等特性,能够极大地提高查询性能。然而,有时候在使用ORC格式读取数据时,可能会遇到“数组越界”错误,这通常是由于软件bug或者不兼容性导致的。 “数组越界”错误是Java编程语言中...

    HIVE从入门到精通.pdf

    - **创建索引**:使用CREATE INDEX语句创建索引。 #### 八、Hive Schema - **Schema的作用**:定义表结构,包括列名、数据类型等信息。 - **查看Schema**:使用DESCRIBE命令查看表的Schema信息。 #### 九、Hive ...

    ES-HIVE数据互通

    - `es.index.auto.create` 设置为 `yes` 表示自动创建索引。 - `es.index.read.missing.as.empty` 设置为 `yes` 表示如果索引不存在,则将其视为空。 - `es.nodes` 和 `es.port` 指定了Elasticsearch集群的信息。...

    Hive使用手册Hive使用手册

    3. **Hive创建/删除数据库** - **创建数据库** 用CREATE DATABASE语句,例如:`CREATE DATABASE mydb;` - **删除数据库** 用DROP DATABASE语句,例如:`DROP DATABASE mydb CASCADE;` `CASCADE`选项会同时删除所有...

    尚硅谷大数据视频_Hive视频教程

    7. **视图与索引**:学习如何创建和使用视图简化复杂查询,以及Hive的索引机制,虽然Hive的索引功能相对有限,但仍然可以提高某些查询的速度。 8. **数据倾斜与优化**:了解数据倾斜问题,这是大数据处理中的常见...

    hive tunning

    - **索引优化**:创建索引可以加速查询速度,尤其是对于频繁查询的列。 - **压缩技术**:使用压缩可以减少存储空间和I/O操作,从而加快查询速度。 - **数据格式选择**:选择合适的数据存储格式,如ORC、Parquet,...

    大数据面试 Hive 八股文

    - **无索引**:查询时需全表扫描,导致查询效率较低。 2. **Hive与数据库的区别** - **事务处理**:数据库支持事务,而Hive在高版本之前不支持。 - **执行效率**:数据库响应快,适合实时操作;Hive在大数据量下...

    hive编程指南中文版

    · 使用Hive创建、修改和删除数据库、表、视图、函数和索引。 · 从文件到外部数据库,自定义数据存储格式和存储选项。 · 将数据载入表中以及从表中抽取数据,并使用查询、分组、过滤、连接和其他常规查询方法。 ·...

    开发高效的hive程序

    创建Bucketing或Skewed Join索引可以帮助优化JOIN操作。 4. 内存调优:调整Hive的内存配置参数,如mapreduce.map.memory.mb和mapreduce.reduce.memory.mb,可以在一定程度上提升执行效率。 5. 视图与子查询:使用...

    大数据系列-Hive

    Hive虽然不支持传统数据库的B树索引,但提供了一种基于数据分区的索引机制——Bucketing和Sorting,以加速查询。 3. **数据倾斜问题**:当某些分区或分桶中的数据量远大于其他时,会导致计算资源分配不均,影响整体...

    大数据技术之Hive - 副本.doc

    4. **索引机制**:Hive在数据加载时并不创建索引,这与数据库的索引机制不同,影响了查询速度。 总的来说,Hive是为大数据分析而设计的工具,它的出现极大地简化了非实时大数据处理的复杂性,但也存在性能和功能上...

    apache-hive-2.1.1-bin.tar.gz下的bin文件夹,包含hive.cmd

    例如,可以通过创建外部表、分区、索引、优化JOIN操作等方式提升查询效率。此外,Hive还支持多种存储格式,如TextFile、ORC、Parquet,选择合适的存储格式可以有效地压缩数据,减少存储空间并提升查询速度。 总的来...

    hive编程入门课程

    - **索引**:虽然Hive不提供传统意义上的索引,但通过适当的列选择和数据分布策略,可以达到类似的效果。 - **查询重写**:Hive可以通过自动重写查询计划,选择最优的执行路径,从而提升查询速度。 - **资源管理**:...

    大数据hive笔记.zip

    3. 索引:虽然Hive不支持传统的关系型数据库索引,但可以借助ORC、Parquet等列式存储格式提高查询速度。 4. 预编译:通过CREATE TABLE AS SELECT语句生成预处理的结果表,减少实时查询的计算量。 5. 内存调优:调整...

    HIVE从入门到精通

    数据文件存储在HDFS上,Hive并不创建索引,因此查询效率相对较低,但在处理大数据时,依赖于Hadoop的分布式计算能力。 【Hive的主要功能】 1. **创建目录和表**:Hive允许用户创建数据库、表和分区,定义列名和...

    Hive用户指南(Hive_user_guide)_中文版.pdf

    Hive查询优化主要包括查询重写、索引优化和并行优化等。查询重写用于将复杂查询简化为简单查询,索引优化用于加速查询速度,parallel优化用于提高查询并行度。 9. Hive UDF Hive UDF(User Defined Function)允许...

    hive-1.1.0-cdh5.14.2.tar.gz和mysql-connector-java-5.1.38.jar连接包

    10. **Hive优化**: 了解如何优化Hive查询,如使用合适的文件格式(如ORC或Parquet)、创建适当的索引、优化JOIN操作等,对于提升Hive在大数据场景下的性能至关重要。 在实际操作中,用户需要安装和配置Hadoop、CDH...

    Hive编程指南

    · 使用Hive创建、修改和删除数据库、表、视图、函数和索引。 · 从文件到外部数据库,自定义数据存储格式和存储选项。 · 将数据载入表中以及从表中抽取数据,并使用查询、分组、过滤、连接和其他常规查询方法。 ·...

    hive大数据书籍

    3. **Hive数据模型**:理解Hive的数据模型,包括表、分区、桶等概念,以及如何创建和管理这些数据结构。 4. **HQL语言**:详尽解析HQL(Hive Query Language),包括DML(数据操作语言)、DDL(数据定义语言)和DCL...

Global site tag (gtag.js) - Google Analytics