视图:
1、视图是一个逻辑表,本身不存储数据。数据来源于它依赖的物理表
2、视图只是简化复杂的查询,相当于一个sql数据集,对于一个大表来说,简化查询sql,并不能提高查询效率。反而增加资源开销,建议频繁查询的数据落地

1.视图如何创建
hive> create view if not exists test.test_view as > select >   apptypeid,>   accid,>   dt> from test.test1> > union all> select >   apptypeid,>   accid,>   dt> from test.test2;
OK
Time taken: 0.968 seconds
查看视图表:
hive> show create table test.test_view;
OK
CREATE VIEW `test.test_view` AS select `test1`.`apptypeid`,`test1`.`accid`,`test1`.`dt`
from `test`.`test1` union all
select `test2`.`apptypeid`,`test2`.`accid`,`test2`.`dt`
from `test`.`test2`
Time taken: 0.028 seconds, Fetched: 12 row(s)

注:1.视图依赖物理表test1、test2,每次查询视图表,都会从test1/test2中取数据,如果是频繁查询或者使用的地方比较多,建议数据直接落地会比较好
2.视图表里面可以编写复杂的统计逻辑,这里只做了简单的union all

下面我们来看看执行计划,验证查询视图表是否是查询物理表的数据:
hive> explain select count(1) from test.test_view where dt='20210610';
OK
STAGE DEPENDENCIES:Stage-1 is a root stageStage-0 depends on stages: Stage-1STAGE PLANS:Stage: Stage-1Map ReduceMap Operator Tree:TableScanalias: test1properties:insideView TRUEStatistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONESelect OperatorStatistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONEUnionStatistics: Num rows: 2 Data size: 3815370 Basic stats: COMPLETE Column stats: NONESelect OperatorStatistics: Num rows: 2 Data size: 3815370 Basic stats: COMPLETE Column stats: NONEGroup By Operatoraggregations: count(1)mode: hashoutputColumnNames: _col0Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONEReduce Output Operatorsort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONEvalue expressions: _col0 (type: bigint)TableScanalias: test2properties:insideView TRUEStatistics: Num rows: 1 Data size: 3815370 Basic stats: PARTIAL Column stats: NONESelect OperatorStatistics: Num rows: 1 Data size: 3815370 Basic stats: PARTIAL Column stats: NONEUnionStatistics: Num rows: 2 Data size: 3815370 Basic stats: COMPLETE Column stats: NONESelect OperatorStatistics: Num rows: 2 Data size: 3815370 Basic stats: COMPLETE Column stats: NONEGroup By Operatoraggregations: count(1)mode: hashoutputColumnNames: _col0Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONEReduce Output Operatorsort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONEvalue expressions: _col0 (type: bigint)Reduce Operator Tree:Group By Operatoraggregations: count(VALUE._col0)mode: mergepartialoutputColumnNames: _col0Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONEFile Output Operatorcompressed: falseStatistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONEtable:input format: org.apache.hadoop.mapred.SequenceFileInputFormatoutput format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormatserde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDeStage: Stage-0Fetch Operatorlimit: -1Processor Tree:ListSinkTime taken: 0.885 seconds, Fetched: 68 row(s)

从执行计划可以验证我们的判断,统计test.test_view表的条数时,是分别从test1和test2表中做count操作的

扩展:

2.删除视图:
drop view test.test_view;
3.更新视图:
create or replace view test.test_view2 as
select apptypeid,accid,dt
from test.test3union all
select apptypeid,accid,dt
from test.test4;

hive如何创建视图相关推荐

  1. 大数据开发之Hive篇8-Hive视图

    备注: Hive 版本 2.1.1 文章目录 一.Hive视图介绍 二.视图案例 2.1 视图能够简化用户内的操作 2.2 视图使用户能以多种角度看待同一数据 2.3 视图对重构数据库提供了一定程度的 ...

  2. MySQL 学习笔记(5)— 视图优缺点、创建视图、修改视图、删除视图

    1. 视图概念 简单来说,视图就是一个预定义的查询语句.视图在许多情况下可以当作表来使用,因此也被称为虚拟表(Virtual Table). 视图与表最大的区别在于它不包含数据,数据库中只存储视图的定 ...

  3. SQL Server创建视图——视图的作用

    视图简介: 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口. 常规视图本身并不存储实际的数据,而仅仅是由SELECT语句组成的查询定义的虚拟表 . ...

  4. 转: mysql create view 创建视图

    以下的文章主要是对MySQL视图的描述,其中包括MySQ视图L概述,以及创建MySQL视图-create view与修改MySQL视图--alter view等相关内容的具体描述,以下就是文章的具体内 ...

  5. MySQL创建视图(CREATE VIEW)

    创建视图是指在已经存在的 MySQL 数据库表上建立视图.视图可以建立在一张表中,也可以建立在多张表中. 基本语法 可以使用 CREATE VIEW 语句来创建视图. 语法格式如下: CREATE V ...

  6. 2、创建视图(CREATE VIEW)

    创建视图是指在已经存在的 MySQL 数据库表上建立视图.视图可以建立在一张表中,也可以建立在多张表中. 基本语法 可以使用 CREATE VIEW 语句来创建视图. 语法格式如下: CREATE V ...

  7. MySQL在多表上创建视图

    MySQL中,在两个或者以上的基本表上创建视图 在student表和stu_info表上,创建stu_class视图,查询出s_id号.姓名和班级 首先,创建stu_info表,并向表中插入数据 查看 ...

  8. MySQL在单表上创建视图

    在单表上创建视图 在student表上,创建view_stu视图 首先,创建一个数据库chapter07 在数据库中,创建一个表student,用于存储学生信息 向student表中,插入数据 查看表 ...

  9. MySQL创建视图的语法格式

    视图,具有简化查询语句.安全性和保证逻辑数据独立性等作用 创建视图的语法格式 视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可 ...

最新文章

  1. AAC_LC用LATM封装header信息解析 Audio Specific Config格式分析
  2. Linux基础知识——常用shell命令介绍(三)
  3. Consul架构介绍
  4. oracle清理表空间文件,如何自动删除表空间的文件?
  5. Android中Parcelable与Serializable接口用法
  6. python设计棋牌游戏
  7. 修改窗口的风格ModifyStyle
  8. 【MV-3D】----多视图的3D目标检测网络
  9. python中oct函数_Python内置函数OCT详解
  10. 牛客小白月赛1分元宵
  11. 编译器对源代码的编译过程
  12. discuz论坛快速登录、分享帐号一键登录方法
  13. jQuery入门 jQuery入门第三天
  14. Java曲线之削峰填谷,Sentinel匀速模式(削峰填谷)
  15. element 日期选择器
  16. c3p0 SQLException: An attempt by a client to checkout a Connection has timed out异常
  17. 实现电话自动拨打、挂断
  18. 【软件测试】入门答疑,概念
  19. Keras深度学习实战(26)——文档向量详解
  20. “五一”假期消防安全知识要牢记之消防安全知识答题活动

热门文章

  1. 数据结构(c)的学习总结
  2. 二十、Java虚拟机内存结构
  3. Windows彻底停止nginx服务
  4. 最严谨的邮箱校验正则表达式
  5. 【OpenCV 学习笔记】第七章: 图像平滑处理
  6. Android定时器死循环问题,开启TIM1定时器后,进入TIM1_CC_IRQHandler死循环
  7. 给你的GUI润润色吧!别再那么Low了!LVGL『风格Style』介绍
  8. zk 是如何解决脑裂问题的
  9. 物质炼金术师三维模型建造,带来无限的遐想空间
  10. Pycharm 控制台如何打印出蓝色链接