如何使用HiveQL语句在Hive中创建临时表?

存储
临时表是Hive数据表的一种特殊形式,临时表只对当前会话可见,数据被存储在用户的临时目录,并在会话结束时删除。

临时表是Hive数据表的一种特殊形式,临时表只对当前会话可见,数据被存储在用户的临时目录,并在会话结束时删除。接下来,在虚拟机 Node_03中使用Hive客户端工具Beeline,远程连接虚拟机Node_02的 HiveServer2服务操作Hive,在数据库hive_database中创建临时表temporary_table,具体命令如下。

CREATE TEMPORARY TABLE
hive_database.temporary_table
く
name STRING,
age int,
gender STRING
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS textfile
TBLPROPERTIES("comment"="This is a temporary table");

上述命令执行完成后,在Hive客户端工具Beeline中执行“DESC FORMATTED temporary_table;"命令,查看数据库 hive_database中临时表 temporary_table 的表结构信息,如图所示。

临时表temporary_table的表结构信息

临时表temporary_table在HDFS的数据存储路径为/tmp_local/hive/root目录中,该路径中/tmp_local/hive为Hive配置文件中参数 hive.exec.scratchdir指定的临时目录,/root是根据当前用户名root创建的目录。在Hive客户端工具Beeline中执行“!table”命令退出当前会话,再次使用Hive客户端工具Beeline,在虚拟机Node_03中远程连接虚拟机Node_02的HiveServer2服务时,会发观数据库 hive_database中已经不存在临时表temporary_table。

注意:

(1)临时表不支持分区,不能基于CREATETABLE句式创建临时分区表。

(2)临时表不支持索引。

(3)临时表是数据表的一种展现形式,因此针对数据表的操作同样可以应用于临时表。

(4)如果同一数据库中的临时表与非临时表名称一致,那么此会话内任何操作都会被解析为临时表的操作,用户将无法访问同名的非临时表。

责任编辑:华轩 来源: 今日头条
相关推荐

2009-03-18 10:56:29

生命周期全局临时表SQL Server

2010-07-01 14:46:10

SQL Server临

2011-04-13 13:56:52

Oracle临时表

2010-11-24 10:05:20

mysql创建临时表

2021-04-29 08:11:11

SQL优化作用

2013-09-26 14:11:23

SQL性能优化

2022-10-19 21:24:24

临时表空间Oracle

2011-08-22 15:47:27

Oracle临时表存储过程

2010-09-01 11:46:01

DB2临时表SQL

2010-03-15 09:53:16

Python函数变量

2010-04-28 11:56:09

Oracle临时表

2010-07-26 13:56:38

SQL Server临

2016-08-29 20:51:16

awkLinux开源

2009-07-01 02:29:24

临时表T-SQL

2022-03-18 08:48:35

Kubernetes临时容器运维

2010-05-17 16:31:48

Mysql临时表

2010-10-13 16:25:44

MySQL临时表

2019-07-29 10:56:32

Linuxuseradd命令创建用户账号

2011-03-29 13:22:07

SQL Server临时表表变量

2024-01-17 09:33:16

数据库MySQL
点赞
收藏

51CTO技术栈公众号