当前位置: 首页 > article >正文

sparksql建临时表的几种方式

目录

  • 前言
  • 1.create table + 临时表名
  • 2. with as 语句
  • 3.cache table 语法
  • 4.create temporary table

前言

sparksql任务中,有时需要建临时表,来实现一些代码逻辑,最后再进行不同临时表逻辑关联,以提高任务执行效率。下面介绍几种建临时表的方法。

1.create table + 临时表名

如下:

drop table  if exists default.tmp_test_table_di_00_${etl_date_key};
create table if not exists default.tmp_test_table_di_00_${etl_date_key} as 
select ...
from ...

将数据写入到临时表中,表的类型为tmp(临时表),适用于数据量大,任务执行完,记得删除临时表;

2. with as 语句

with as 语句是SQL中的一种常用语法,它可以为一个查询结果或子查询结果创建一个临时表,并且可以在后续的查询中使用这个临时表,在查询结束后该临时表就被清除了。这种语法的使用可以使得复杂的查询变得简单,同时也可以提高查询效率。

with tmp_test_table_di_00_${etl_date_key} as (
select ...
from ...
)

3.cache table 语法

cache table tmp_test_table_di_00_${etl_date_key} as (
    select ... 
    from ...
)

with语法只相当于一个视图,并不会将数据缓存;如果要将数据缓存,需要使用cache table语法;
最常见的,多个重复sql时,可使用with / cache语法。with是让代码看起来更简洁;cache是会将数据缓存在内存中,按需求考虑。cache一般用来缓存结果数据,小量数据;对于大量的中间数据做缓存时要仔细考虑,一般不建议;

4.create temporary table

create temporary table default.tmp_test_table_di_00_${etl_date_key}  as 
    select ... 
    from ...

Hive中使用临时表(create temporary table)


http://www.kler.cn/a/371838.html

相关文章:

  • 微服务分布式事务
  • java-web-day5
  • sql进阶篇
  • 计算机毕业设计——ssm基于JAVA的OA办公系统的设计与实现演示录像2021
  • GraphQL系列 - 第1讲 GraphQL语法入门
  • <十六>Ceph mon 运维
  • Java | Leetcode Java题解之第513题找树左下角的值
  • 数据结构 ——— 二叉树的概念及结构
  • 联动香港、成都、武汉三所高校!“2024 深圳国际金融科技大赛”校园行圆满结束
  • MySql基础34题写题记录(21-29)
  • 【AI】numpy_pandas_matplotlib_sklearn合集
  • macOS Sonoma 14.7.1 (23H222) Boot ISO 原版可引导镜像下载
  • 没有对象来和我手撕红黑树吧
  • 安装git-lfs发生报错Could not find Git; can not register Git LFS.解决方案
  • Milvus - 内存索引类型详解
  • 中阳金融智能量化交易系统的创新与未来发展
  • 出海要深潜,中国手机闯关全球化有了新标杆
  • 网络安全包含哪些方面?如何加强网络安全建设?
  • 函数练习python
  • BERT,RoBERTa,Ernie的理解
  • UI 组件的二次封装
  • 获取平台Redis各项性能指标
  • socket编程---UDP
  • Python应用指南:利用高德地图API实现路径规划
  • 代码随想录训练营Day11 | 226.翻转二叉树 - 101. 对称二叉树 - 104.二叉树的最大深度 - 111.二叉树的最小深度
  • 高级java每日一道面试题-2024年10月24日-JVM篇-说一下JVM有哪些垃圾回收器?