本篇内容主要讲解“蜂巢视图和索引简单介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“蜂巢视图和索引简单介绍”吧!
一、蜂巢视图
1.1简介
,,,,,,,,蜂巢中的视图和RDBMS中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条<代码> 代码>选择语句的结果集。视图是纯粹的逻辑对象,没有关联的存储(蜂巢3.0.0引入的物化视图除外),当查询引用<代码>视图> 代码时,蜂巢可以将视图的定义与查询结合起来,例如将查询中的<代码>过滤器推送到视图> 代码中。
1.2特点
- <李>
不支持物化视图
李> <李>只查询,不能做加载数据操作
李> <李>视图的创建,只是保存<代码>一份元数据> 代码,查询视图才执行对应的子查询
李> <李>视图定义中若包含了ORDER BY/限制语句,当查询视图时也进行了ORDER BY/限制语句操作,当视图中定义的优先级更高;
李> <李>蜂巢视图支持迭代视图
李>1.3创建视图
CREATE VIEW [IF NOT 存在],[db_name] view_name ,,,,视图名称 (才能(column_name [COMMENT column_comment],…),),,,,,列名 (COMMENT view_comment)才能,,,视图注释 (才能TBLPROPERTIES (property_name =, property_value,,…)),,,额外信息 AS 才能SELECT …
<强>创建视图注意事项强>
- <李>
创建视图创建具有给定名称的视图。如果已经存在具有相同名称的表或视图,则会引发错误。您可以使用<代码> 代码>跳如果不存在过该错误。
李> <李>删除基表并不会删除视图,需要手动删除视图;
李> <李>视图是只读的,不能用作<代码>加载代码>/<代码>插入<代码>//<代码>修改> 代码的目标
李> <李>创建视图时,如果未提供列名,则将从选择语句中自动派生列名;
李> <李>一个视图可能包含ORDER BY和限制子句。如果参照查询还包含这些条款,查询级别子句进行评估<强>后>强视图条款(和之后在查询的任何其它操作)。例如,如果视图指定限制5,并且引用查询执行为(从v限制10中选择*),那么最多将返回5行。
李><强>准备数据强>
——,创建测试表create , table default.user ( ,,id string ,,,,主键 ,,sex 字符串,,,,性别 ,才能name string ——,名称);,,导入数据insert into default.user (id,性爱,,名字)values (“1“,“男”、“张三“),(“2“,“女”,“小花“),(“3“,“男”,“赵柳“),(“4“,“男”,“李嘿嘿“);
<强>创建一个测试视图强>
hive (默认)祝辞,create view if not exists , default.user_view as select *,得到default.user;好吧 id ,,,,, sex ,,,, nameTime 采取:,0.181,1.4秒
查询视图
<>之前,,查询视图内容呢select *,得到default.user_view;,,查询视图结构desc default.user_view;,,查询视图详细信息desc formatted default.user_view;,,查询视图,没有指定的方式跟查询所有表一样show 餐桌;1.5删除视图
——,模板DROP VIEW [IF 存在],[db_name] view_name;,,删除视图,DROP , VIEW IF EXISTS user_view;
1.6修改视图属性
<强>语法:强>
ALTER VIEW [db_name] view_name SET TBLPROPERTIES table_properties;, table_properties: ,,:(property_name =, property_value,, property_name =, property_value,,…)
<强>示例强>:
alter , view , default.user_view set tblproperties (& # 39;名字# 39;=& # 39;DSJLG& # 39;, & # 39; GZH& # 39;=& # 39; DSJLG& # 39;)
通过<代码> desc格式化default.user_view; 代码>详情信息
二、索引
2.1简介
,,,,,,,,蜂巢在0.7.0引入了索引的功能,索引的<强>设计目标是提高表某些列的查询速度>强。如果没有索引,带有谓词的查询(如表1。列=10)会加载<代码>整个表或分区并处理所有行> 代码。但是如果列存在索引,则只<代码>需要加载和处理文件的一部分代码>。
2.2创建索引模板
CREATE INDEX index_name ,,,,,索引名称 提醒才能TABLE base_table_name (col_name,…),,,建立索引的列 AS 才能;index_type ,,,,索引类型 ,,(WITH DEFERRED 重建),,,,,重建索引 (才能IDXPROPERTIES (property_name=property_value,…)),,,索引额外属性 [才能拷贝TABLE index_table_name),,,,,索引表的名字 (才能,[,ROW FORMAT …], STORED AS ……,, ,,,,|,STORED BY … ,,),,,索引表行分隔符,,,存储格式 (位置;hdfs_path)才能,,,索引表存储位置 ,,(TBLPROPERTIES (…)),,,,索引表表属性 null null null null null null null null null null蜂巢视图和索引简单介绍