hive创建临时表
hive创建临时表1.创建的临时表仅仅在当前会话可见,数据会被暂存到hdfs上,退出当前会话表和数据将会被删除
·
方式一
create temporary table 临时表表名 as
select * from 表名;
1.创建的临时表仅仅在当前会话可见,数据会被暂存到hdfs上,退出当前会话表和数据将会被删除
2.如果临时表的命名的表名和hive的表名一样,当前会话则会查询临时表的数据,用户在这个会话内将不能使用原表,除非删除或者重命名临时表
3. 临时表不支持分区字段,不支持创建索引
方式二
(1)with as 可以理解为就是子查询,目的提高代码可读性
with t1 as (select * from student)
select * from t1;
1.with as 属于一次性的,后面必须加其他sql一起使用才可以!不然会报错!
2.这里必须要整体作为一条sql查询,即with as语句后不能加分号,不然会报错。
(2)多个with as 的使用
with t1 as (select * from student),
t2 as (select * from t1)
select * from t2;
1.多个with as 使用必须使用逗号隔开,
2.前面with as生成的临时表可以在后面的with as中使用 但是with子句内部不能嵌套with子句
更多推荐
已为社区贡献2条内容
所有评论(0)