hive创建临时表

2年前 (2022) 程序员胖胖胖虎阿
245 0 0

方式一

create temporary table 临时表表名 as 
select * from 表名;

hive中的临时表只对当前session有效,session退出后,表会自动删除

注:

若创建的临时表表名已经存在,那么当前session应用该表名时使用的是你创建的临时表,只有删除或者修改临时表才能使用原先存在的表。

临时表不支持分区字段和创建索引

注意要点:

1、如果创建的临时表表名已存在,那么当前session引用到该表名时实际用的是临时表,只有drop或rename临时表名才能使用原始表

2、临时表限制:不支持分区字段和创建索引

从Hive1.1开始临时表可以存储在内存或SSD,使用hive.exec.temporary.table.storage参数进行配置,该参数有三种取值:memory、ssd、default。相关链接

方式二

with a1 as (select * from A)
select * from a1;

1.with as 属于一次性的,后面必须加其他sql一起使用才可以!不然会报错!

2.这里必须要整体作为一条sql查询,即with as语句后不能加分号,不然会报错

多个with as 的使用

with a1 as (select * from A),
a2 as (select * from a1)
select * from a2;

1.多个with as 使用必须使用逗号隔开,

2.前面with as生成的临时表可以在后面的with as中使用 但是with子句内部不能嵌套with子句

版权声明:程序员胖胖胖虎阿 发表于 2022年9月8日 下午10:48。
转载请注明:hive创建临时表 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...