Hive开启CTE物化
CTE(Common Table Expression)公共表表达式简称 CTE,处理方式类似于视图扩展,是Hive三种保存临时结果的方法之一(另外两种是临时表和物化视图), Hive早在 0.13.0 的时候便加入了这个功能。
hive cte的with as 只是定义了一个SQL片段,相当于View,默认是不会缓存数据的,执行计划中并没有缓存过程。要想保存复用数据,可以通过一个参数来开启
set hive.optimize.cte.materialize.threshold=2
这个参数默认值-1(关闭);设为大于0的数字为开启,比如设置为2后,则如果with 片段使用次数>=2,hive会计算这部分数据并物化,后面引用的时候不再重复计算。
一个或多个 CTE 可以在 Hive SELECT、INSERT、 CREATE TABLE AS SELECT或CREATE VIEW AS SELECT语句中使用。
用法示例
Select 语句中的 CTE
with q1 as ( select key from src where key = '5')
select *
from q1;-- from style
with q1 as (select * from src where key= '5')
from q1
select *;-- chaining CTEs
with q1 as ( select key from q2 where key = '5'),
q2 as ( select key from src where key = '5')
select * from (select key from q1) a;-- union example
with q1 as (select * from src where key= '5'),
q2 as (select * from src s2 where key = '4')
select * from q1 union all select * from q2;
视图、CTAS 和Insert 语句中的 CTE
-- insert example
create table s1 like src;
with q1 as ( select key, value from src where key = '5')
from q1
insert overwrite table s1
select *;-- ctas example
create table s2 as
with q1 as ( select key from src where key = '4')
select * from q1;-- view example
create view v1 as
with q1 as ( select key from src where key = '5')
select * from q1;
select * from v1;-- view example, name collision
create view v1 as
with q1 as ( select key from src where key = '5')
select * from q1;
with q1 as ( select key from src where key = '4') --没有被使用 不会生效
select * from v1;
author csdn qq_19933029
Hive开启CTE物化相关推荐
- Hive视图与物化视图
文章目录 1. 视图 1.2 案例 1.3 视图的好处 2. Hive3.0新特性:Materialized View 物化视图 2.1 物化视图语法 2.2 基于物化视图的查询重写 1. 视图 Hi ...
- pypark hive 开启动态分区_Hive分区与分桶
分区.分桶的作用: 我们知道在传统的DBMs系统中,一般都具有表分区的功能,通过表分区能够在特定的区域检索数据,减少扫描成本,在一定程度上提高了查询效率,当然我们还可以通过进一步在分区上建立索引,进一 ...
- Hive开启审计日志
CDH5和CDH6开启审计日志的方式有点区别 免费拿走不谢 CDH6.x Hive的版本的2.x,使用的log4j2,开启审计日志如下: appenders=AUDIT appender.AUDIT. ...
- hive开启kerberos-beeline连接
1.kerberos安装 kerberos安装配置与使用:https://blog.csdn.net/qq_21383435/article/details/83625252 2. 生成 keytab ...
- hdp3.1.4 hive 开启lzo压缩
因为集群本身是不支持lzo压缩的,所以需要我们自行安装配置. 环境: hdp 3.1.4 hadoop-lzo : 0.4.21 lzo :2.10 安装步骤如下: 在源码编译安装之前需要做一些准备工 ...
- Spark操作Hive(开启Kerberos认证)代码提交华为云DAYU的MRS Spark组件--方法流程及注意事项
背景: 最近在测试华为云DAYU MRS Spark操作Hive的流程,因kerberos认证的问题一直测试失败. 代码示例: val sparkSession = SparkSession.buil ...
- Hive CTE | with as 隐藏的秘密!
CTE Hive with as 语句 Hive with 语句默认是不把数据进行物化的,相当于视图,定义了一个SQL片段,每次使用时候可以将该定义的SQL片段拿出来再被使用,该SQL片段可以理解为一 ...
- sparksql 操作hive_Spark SQL 物化视图原理与实践
导言 物化视图作为一种预计算的优化方式,广泛应用于传统数据库中,如Oracle,MSSQL Server等.随着大数据技术的普及,各类数仓及查询引擎在业务中扮演着越来越重要的数据分析角色,而物化视图作 ...
- 如此丝滑,Hive 中的各种常用 set 设置用起来就是爽啊
平时在跑数据时,需要在查询语句前设置一些set语句,这些set语句中其中有一些是配置hive的各功能,另一些是可以达到优化的目的,本篇文章对一些常用的set语句进行总结 常用set设置 查询结果显示表 ...
最新文章
- 博士笔记 | 深入理解深度学习语义分割
- 视觉里程计 | OF-VO:Robust and Efficient Stereo Visual Odometry Using Points and Feature Optical Flow
- python打包的程序很大_Pyinstaller 打包以及pipenv 虚拟环境应用,以及打包出来程序太大的解决办法...
- Exception processing async thread queue
- 获取用户列表为空_数据结构和算法(Golang实现)(15)常见数据结构-列表
- json文件读取之reader.onload中的定义的变量在其函数外部进行处理
- 只用一个marker 替换 高德_关于高德地图添加Marker遇到的一些坑
- JQuery树插件——ztree
- Selenium自动化测试-8.iframe处理
- 【二分图匹配】E. 过山车
- NMEA0183协议中的GGA语句解析
- 苏宁成立快递员节PK京东封杀快递,谁的做法更聪明?
- 话筒在multisim怎么找_基于Multisim软件的调频无线话筒仿真
- 简述台式计算机的组装流程,台式机怎么组装 台式机组装步骤详细介绍【图文】...
- WdatePicker开始时间与结束时间
- 数据库系统原理mysql答案_数据库原理与应用MySQL答案
- 福特汉姆大学计算机科学专业,留学福特汉姆大学专业
- uniapp之登录(短信验证码,账号密码,第三方登录)
- 计算机硬件类的相关课程,计算机硬件类课程,hardware course,音标,读音,翻译,英文例句,英语词典...
- 简单介绍一下python的魔方方法