HIVE【WITH AS、子查询、视图】的区别

SparkSQL中横向迭代计算的4种方式,以及子查询、临时视图、永久视图、缓存表之间的区别?(附案例) 永久视图 view:永久保存一段查询语句的逻辑;临时视图 temporary view:只在当前会话生效;缓存表cache table:只在当前会话有效,将一段查询结果集缓存到内存;table:永久有效,保存数据结构和数据本身到磁盘;with as:当子查询的嵌套层数太多时,可以用with as 增加可读性。 阅读详情

1、【子查询】和【WITH AS】的关系

WITH AS是 子查询 的一种写法
旧版MySQL 子查询 不支持WITH AS写法,只支持括号写法
WITH AS写法 可读性更高,更方便注释,推荐使用!

  • 括号子查询写法
SELECT t.f FROM (子查询)t;
  • WITH AS子查询写法
WITH
-- 注释1
t1 AS (子查询),
-- 注释2
t2 AS (子查询)
SELECT f1,f2 FROM t2;

2、视图

2.1、概念

视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据
用来创建视图的表叫做基表,基表数据改变后,从视图获取的数据也随之改变
HIVE视图是只读的,不能向视图插入数据

2.2、写法

CREATE VIEW t AS
SELECT ...

在HIVE创建视图后,HUE界面显示

在MySQL中查看HIVE元数据信息

2.3、用途!!!

2.3.1、简化操作

  • 简化用户对数据的理解和操作

  • 在MySQL应用场景中:
    关系数据库遵循范式理论,取数时JOIN多到飞起
    可以为一些常用的查询创建视图,从而简化用户操作

2.3.2、提供了一定程度的逻辑独立性

  • 在HIVE应用场景中:
    有些 非公共的维度表 可用视图,这样既节省了硬盘及IO,又可展现逻辑

  • 在MySQL应用场景中:
    没有视图时,程序是建立在表上的
    有了视图后,程序可建立在视图之上,从而使程序和表分割开来

比较程序建立在表上程序建立在视图之上
表变化时改程序改视图
应用变化时改表改视图

2.3.3、安全性

  • 在MySQL应用场景中:
    使用视图来 给用户提供允许范围内的结果集
    例如,基表中含有手机号等用户不需要的敏感信息
    做法:1、创建视图,提供所需数据;2、把视图授权给用户。

3、比较HIVE的【子查询】和【视图】

  1. 都可简化复杂的查询
  2. 视图 支持 表名在别的SQL中使用,子查询不支持
  3. 执行速度:相近
  4. 都不是缓存数据
  5. 视图的元数据信息会被记录到meta store
hive中的视图 view 在 Hive 中,视图是一个虚拟表。它本身并不存储数据,而是基于一个或多个底层表(称为基表)或其他视图的查询结果。视图可以被看作是一个命名查询。当你查询视图时,Hive 会执行定义视图时使用的查询语句,并返回结果。Hive 视图是一个强大的工具,主要用于简化复杂查询、提供数据抽象层、实现访问控制和提高逻辑数据独立性。它通过存储查询定义而非实际数据来工作。理解视图的用途和限制有助于更有效地组织和管理 Hive 中的数据查询。 阅读详情

相关推荐

学习Hive(四)Hive视图、索引、运行方式、GUI接口、权限管理

一、Hive Lateral view:使用虚拟表的概念。但并非是真正的视图。 1.1、与UDTF函数(split、explode)联合使用。 1.2、首先通过UDTF函数将数据拆分成多行,再将多行结果组成一个虚拟表(支持别名)。 1.3 主要场景:Hive在使用UDTF函数时,查询只能包含一个UDTF,不能包含其他字段,不能多个UDTF联合使用。错误例子: 1.4 使用语句: se...

赵俊杰 2437

Hive: with as用法、问题和优化

Hive: with as用法、问题和优化

weixin_42326851的博客 5335

WITH语句和子查询的性能比较 - SQL Server

这是因为WITH语句可以将查询结果存储在临时表中,并在后续查询中重复使用,减少了重复计算的开销。本文将比较WITH语句和子查询在SQL Server中的性能,并提供相应的源代码作为示例。它允许我们在查询中定义一个临时表,并在后续的查询中引用它。综上所述,WITH语句和子查询在SQL Server中都是有用的工具,但在不同的情况下可能会有不同的性能表现。子查询的优点之一是它可以在查询中使用过滤条件,并针对每个主查询的结果进行处理。例如,当子查询的结果集很小,并且只需要执行一次时,使用子查询可能更简洁和高效。

ElServer的博客 1298

Hive(二):with as用法

https://blog.youkuaiyun.com/Abysscarry/article/details/81322669 https://blog.youkuaiyun.com/dzjun/article/details/84748279?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.no

chandelierds的博客 2万+

Hive零基础从入门到实战 入门篇(十八) HiveQL:子查询与WITH AS 语句

目录 前言 1. 子查询 1.1 在FROM后使用子查询语法 1.1.1语法 1.1.2 举例 1.2 在WHERE后使用子查询 1.2.1 语法 1.2.2 举例 2.WITH AS语句 2.1 语法 2.2 举例 前言 本文主要介绍Hive中子查询与WITH AS 语句的用法,为后续多表查询的介绍奠定基础。 1. 子查询 1.1 在FROM后...

风影楼的博客 1万+

Hive(25):Select高级查询之Subqueries子查询

1 from子句中子查询在Hive0.12版本,仅在FROM子句中支持子查询。而且必须要给子查询一个名称,因为FROM子句中的每个表都必须有一个名称。子查询返回结果中的列必须具有唯一的名称。子查询返回结果中的列在外部查询中可用,就像真实表的列一样。子查询也可以是带有UNION的查询表达式。Hive支持任意级别的子查询,也就是所谓的嵌套子查询。Hive 0.13.0和更高版本中的子查询名称之前可以包含可选关键字“ AS”。

u013938578的博客 3948

【WITH AS、子查询、视图】的区别

原创首发 1、【子查询】和【WITH AS】的关系2、视图2.1、概念2.2、写法2.3、用途!!!2.3.1、简单性2.3.2、提供了一定程度的逻辑独立性2.3.3、安全性 3、比较HIVE的【子查询】和【视图】 1、【子查询】和【WITH AS】的关系 ...

Ann_Zhao的博客 2221

【大数据hive】hive视图与物化视图使用详解

hive视图与物化视图使用详解

congge_study的博客 6796

hive之with as 和 create temporary区别

在写hivesql语句时,通常因为实现一个比较复杂的逻辑时。

weixin_45812067的博客 4173

汇编语言与接口技术(第4版)清华大学出版社 第2章 80*86微处理器 课后题答案

汇编语言与接口技术(第4版)清华大学出版社 第2章 80*86微处理器 课后题答案

m0_51658788的博客 3608

如何打开本地网络的防火墙端口(Windows版)解决ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。问题

ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 最开始在遇到这个报错的时候十分不解,后来经过思考,有可能是服务器端口占用,或者并没有放行。因此搜查问题的关键是要先去排查问题。 在搜索栏输入控制面板 选择防火墙 选择开关 保证这些选项是开着的 选择高级设置 新建规则 创建协议端口 选择端口 允许连接 点击下一步 创建规则后点击下一步(后命名) 选择任意端口ALL即可 问题排查完毕!socket创建网络通信时,有读者

weixin_46900108的博客 9万+

mysql with table as_hivesql之 table名 with as 转储

可能某个子查询在多个层级多个地方存在重复使用的情况,这个时候我们可以使用with as语句将其独立出来,极大提高SQL可读性,简化SQL~注:目前oracle、sql server、hive等均支持 with as 用法,但 mysql并不支持!一、介绍with as 也叫做子查询部分,首先定义一个sql片段,该sql片段会被整个sql语句所用到,为了让sql语句的可读性更高些,作为提供数据...

weixin_36111561的博客 1950

opencv-meshgrid

使用opencv::repeat函数和std::iota函数完成meshgrid功能。 X Y Z 通俗的说就是根据Z的大小生成X矩阵,Y矩阵

yuegooxi的博客 1608

【Hive】hive 视图特点及使用

文章目录hive 视图特点创建视图查看视图删除视图使用视图 hive 视图特点 和关系型数据库一样,Hive 也提供了视图的功能,不过请注意,Hive 的视图和关系型数据 库的数据还是有很大的区别: 只有逻辑视图,没有物化视图; 视图只能查询,不能 Load/Insert/Update/Delete 数据; hive的视图仅仅相当于一个sql的快捷方式,为了提升hql语句的可读性 视图在创建时候...

人生所向,皆是美好 4363

DS250DF410寄存器配置实战:从原理到调试的高速SerDes信号优化指南

在高速串行通信领域,SerDes(串行器/解串器)技术是实现芯片间高速数据传输的核心。其工作原理是通过时钟数据恢复(CDR)从串行数据流中提取时钟,并利用均衡技术补偿信道损耗。这项技术的核心价值在于突破PCB走线或电缆的带宽限制,确保在25Gbps及以上速率下数据的可靠传输。其应用场景广泛覆盖数据中心、高性能计算和通信设备中的高速背板、光模块及芯片互连。本文以TI的DS250DF410多通道重定时器为例,深入剖析其寄存器配置,特别是如何通过精细调控其自适应均衡器和眼图监测模块,实现对高速链路的信号整形与质量

aodiyi6351的博客 386

R语言实战:非正态数据下的Scheirer–Ray–Hare检验全流程解析

本文详细解析了在R语言中执行Scheirer–Ray–Hare检验的全流程。当数据不满足正态分布假设时,该非参数检验是传统双因素方差分析的有效替代方案。文章从原理、R环境配置、数据准备、代码实现、结果解读到事后比较与可视化,提供了完整的实战指南,帮助研究者稳健地分析多因素实验设计中的主效应和交互效应。

cc789的博客 406

Hive中的视图与分区

转载自 lxw1234@qq.com的博客 同关系型数据库一样,Hive中也支持视图(View)和分区(Partition),但与关系型数据库中的有所区别,本文简单介绍Hive中视图和分区的示例。 在真实业务场景下,视图的应用比较少,分区使用的非常多,因此建议对分区这块多花的时间来了解。 Hive中的视图 和关系型数据库一样,Hive中也提供了视图的功能,注意Hive中视图的特性,和关系型数据库中...

tinysakura的博客 5213

LaTeX新手入门以及TeXlive和TeXstudio的安装使用

作为一个新手,LaTeX的了解和使用很是费了一番功夫,因此,在这里给找不到路的同志们稍微介绍一下。如有错误,敬请指正。本篇内容基于Win10系统,因此安装在Mac或者Linux上的同学可以再找找其他的介绍文章。 目录 LaTeX介绍 LaTeX环境配置 一、TeXlive下载 二、TeXlive安装 1. 安装main installer 2. 正式安装 三、TeXstudio安装...

zywhehe的博客 21万+

hive视图与物化视图使用详解

对比两者的查询过程不难看出,第一个查询执行了map-reduce任务,耗时2秒多,第二个查询,没有执行map-reduce任务,由于会命中物化视图,重写query查询物化视图,查询速度会加快(没有启动MR,只是普通的table scan),查询时间提升了一倍多,这要是在数据量非常大的情况下性能将是巨大的改善;从上面的内容我们知道,物化视图创建后即可用于相关查询的加速,即:用户提交查询query,若该query经过重写后可以命中已经存在的物化视图,则直接通过物化视图查询数据返回结果,以实现查询加速。

延宝小白马的博客 2973

Tartancalib标定OAK-FFC_4p(上)

1.使用Tartancalib标定双目或多目相机前,先对单个相机标定获得内参,再获得外参。

qq_51731421的博客 1277

PCL点云处理之计算点到空间直线距离的四种方法(二十三)

PCL点云处理之计算点到空间直线距离的四种方法

weixin_44329757的博客 3022

Hive 中的临时表使用对比

Hive 中的临时表使用对比说明(使用 spark-sql 测试)unionwith...ascreate temporary viewcache table 说明(使用 spark-sql 测试) 需求说明:假设我们现在有 3 张表,如下图所示,分别为 tra_stock_info 、tra_stock_info_ss 、 tra_stock_info_sz 我们现在需要将 tra_stock_info_ss 和 tra_stock_info_sz 的数据插入到 tra_stock_info 表中,那么

半吊子Kyle的博客 4523

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

数据仓库技术及应用(Hive视图)

是对数据的一个快照,在复杂的查询场景中,物化视图预先计算并保存查询结果,真正查询时可提高效率。物化视图与普通视图的区别在于:物化视图会存储数据,具有表一样的特征;而普通视图不存储数据,是只有表结构的虚拟表。侧视图一般与UDTF结合使用,UDTF为每个输出行生成零个或多个输出行;侧视图会将UDTF应用于基表的每一行,然后将结果输出行对应连接到输入行。

2301_79744714的博客 1476

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

一文教你学会Hive视图和索引

前言          我们在写HQL有没有遇到过数据量特别大的时候比如,使用HQL 处理起来非常复杂,非常慢,这时候我们可以使用Hive给加个索引来提高我们的速度。多了就不说了,我们直接开始。​ 一、Hive视图 1.1 简介          Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELEC

大数据记录 2180

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Hive 高级操作(二)之视图

Hive 高级操作(二·)之视图1、视图1.1、创建视图1.2、查看视图1.3、删除视图1.4、使用视图 1、视图 和关系型数据库一样,Hive 也提供了视图的功能,不过请注意,Hive 的视图和关系型数据库的数据还是有很大的区别: (1)只有逻辑视图,没有物化视图; (2)视图只能查询,不能 Load/Insert/Update/Delete 数据; (3)视图在创建时候,只是保存了一份元数据,当查询视图的时候,才开始执行视图对应的那些子查询。 1.1、创建视图 create view view_name

weixin_44387652的博客 820

WITH在数据开发中的奇技淫巧

絮絮叨叨 笔者常见的数据开发中,发现如果脚本需要产生中间表,或者说想要提升脚本性能,把这段中间表逻辑变为子查询,在人肉堆SQL生涯中,不外乎两种办法: CREATE TABLE tmp.tmpxxxxx AS 优点:可以落物理表,验数时可追溯源头; 缺点:多一次落盘操作,讲白了说多IO,造成大量磁盘和网络开销 CACHE TABLE tmpxxxxx AS 优点:中间数据广播到每个节点,加...

CCCCold的博客 2万+
上一篇: 图解HIVE开窗函数(Windowing functions小白进)
下一篇: 图解HIVE页面单跳转化率
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值