hive之视图和索引
一、视图
1、视图定义
视图其实是一个虚表,视图可以允许保存一个查询,并像对待表一样对这个查询进行操作,视图是一个逻辑结构,并不会存储数据。
2、视图的创建
通过创建视图来限制数据访问可以用来保护信息不被随意查询。
create table userinfo(
id int,name string,age int,address string
);
create view some_userinfo as
select id,name from userinfo;
3、删除视图
drop view if exists userinfo;
4、关于视图的知识
show tables 可以查看视图,不能使用insert和load命令来操作视图。
视图是只读的,对视图的操作都是操作元数据。
二、索引
1、索引的概念:
hive中只有有限的索引功能,hive中没有主键和外键的概念,可以通过对一些字段建立索引来加速某些操作。一张表的索引数据存储在另外一张表中。
当逻辑分区太多太细时而无法使用时,建立索引也就成为分区的另外一个选择。维护索引和创建索引需要消耗计算资源。
除了s3文件系统的数据,对外部表和视图都是可以建立索引的。
目前hive通过实现索引接口的Java类(CompactIndexHandler)来指定索引处理器,还增加了Bitmap索引处理器(应用于排重后较少的列)
不能使用drop table语句之前删除索引。
若有索引表,删除一个索引将会删除这个索引表。
若被索引的表被删除了,那么对应的索引和索引表也会被删除;若原始表的某个分区被删除了,那么这个分区对应的分区索引同时会被删除掉。
2、创建索引:
表结构:create table_employee(
name string,
salary float,
subordinates array<string>,
deductions map<string,float>
address struct<street:string,city:string,state:string,zip:int>
)partitioned by(country string,state string)
索引结构:create index employee_index on table_employee(country)
as ‘org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler’ // 'Bitmap'
with deferred rebuild
in table employee_index_table
partitioned by (country,name) //此分区是针对于employee_index_table
使用索引:
SELECT 字段名表
FROM 表名
WITH (INDEX(索引名))
WHERE 查询条件
hive之视图和索引的更多相关文章
- Hive的视图和索引(九)
Hive的视图和索引 1.Hive Lateral View 1.基本介绍 Lateral View用于和UDTF函数(explode.split)结合来使用. 首先通过UDTF函数拆分成多行 ...
- 优化MySchool数据库(事务、视图、索引)
事务.视图.索引: 事务:当生活逻辑中的“一个步骤”,需要使用多条SQL去完成时,必须使用事务来确保其“完整性“. 视图:简化数据库结构,方便你编写SQL语句(简化SQL语句的编写) 索引:提高“数据 ...
- mysql优化---订单查询优化:视图优化+索引创建
订单的表结构采用了垂直分表的策略,将订单相关的不同模块的字段维护在不同表中 在订单处理这个页面,需要查询各种维度, 因此为了方便查询创建了v_sale_order视图(老版本) drop view v ...
- Oracle数据库之视图与索引
Oracle数据库之视图与索引 1. 视图简介 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改. 视图基于的表称为基表,视图是存储在数据字典里的一条SE ...
- 序列、视图、索引(面试看这个就GO了)
oracle内置对象 序列.视图.索引 序列 create sequence aaa start with 1; 使用 视图 创建好之后 然后直接用 就OK了 有了视图可以代替子查询,使得sql简洁 ...
- accp8.0转换教材第5章事务、视图、索引、备份和恢复理解与练习
知识点:事务.视图.索引.数据库的备份和恢复 一.单词部分 ①transation事务②atomicity原子性③consistency一致性④isolation隔离性 ⑤durability持久性⑥ ...
- PL/SQL 编程(三 )程序包和包体,触发器,视图,索引
一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. ...
- java数据库编程之事务、视图、索引、备份、恢复
第五章:事务.视图.索引.备份和恢复 5.1:事务 事务的概念:事务(transcation)是讲一系列数据操作捆绑成为一个整体进行统计管理. 如果某一事务执行成功了,则该事务进行操作的所有数据将会提 ...
- sqlserver2012 在视图中建索引
第一种 如果已经有视图但是要加索引只需要执行 以下SQL就好(前提是此视图必须 绑定到架构) CREATE UNIQUE CLUSTERED INDEX in ...
随机推荐
- MapGISK9安装
数据下载 单击SQL-->单击显示SQL语句 单击确定,提示不可识别符号,给字段添加''
- log4j file 路径
默认以System.getProperty("user.dir")为准 用LOGGER.warn(System.getProperty("user.dir")) ...
- vue定义自定义事件方法、事件传值及事件对象
1.自定义事件 例如v-on:click="run" 或者 @click="run" <template> <div id="app ...
- CycleGAN --- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
文章地址:http://openaccess.thecvf.com/content_ICCV_2017/papers/Zhu_Unpaired_Image-To-Image_Translation_I ...
- Vagrant 手册之 box - 版本
原文地址 从 Vagrant 1.5 版本起,box 开始支持版本.这运行创建 box 的人提交更新,使用 box 的人检查更新.更新 box 并查看变更记录. 对于 Vagrant 新手,box 版 ...
- XML scriptlet 连接数据库
<%@ page language="java" contentType="text/html" pageEncoding="GBK" ...
- poj3669 Meteor Shower (宽度优先搜索)
Description - 题目描述 Bessie听说有场史无前例的流星雨即将来临:有谶言:陨星将落,徒留灰烬.为保生机,她誓将找寻安全之所(永避星坠之地).目前她正在平面坐标系的原点放牧,打算在群星 ...
- Django 安装、创建第一个项目
一.版本 Django 版本对应的 Python 版本: Django 版本 Python 版本 1.8 2.7, 3.2 , 3.3, 3.4, 3.5 1.9, 1.10 2.7, 3.4, ...
- 远程操作 SQl server2008新建角色和数据库
远程操作 SQl server2008 1.windows身份登录,安全性-->登录名(右键)-->新建登录名:yc ,密码111111-->点选sql server身份验证--&g ...
- jQuery将字符串转换为数字
1:parseInt(string) parseInt("1234blue"); //returns 1234 parseInt("123"); //retu ...