首頁技術文章正文

如何使用HiveQL語句在Hive中創(chuàng)建臨時表?

更新時間:2023-03-23 來源:黑馬程序員 瀏覽量:

IT培訓班

臨時表是Hive數據表的一種特殊形式,臨時表只對當前會話可見,數據被存儲在用戶的臨時目錄,并在會話結束時刪除。接下來,在虛擬機 Node_03中使用Hive客戶端工具Beeline,遠程連接虛擬機Node_02的 HiveServer2服務操作Hive,在數據庫hive_database中創(chuàng)建臨時表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");

上述命令執(zhí)行完成后,在Hive客戶端工具Beeline中執(zhí)行“DESC FORMATTED temporary_table;"命令,查看數據庫 hive_database中臨時表 temporary_table 的表結構信息,如圖所示。
1683535035732_1679556990484_82-(1).jpg

臨時表temporary_table的表結構信息

臨時表temporary_table在HDFS的數據存儲路徑為/tmp_local/hive/root目錄中,該路徑中/tmp_local/hive為Hive配置文件中參數 hive.exec.scratchdir指定的臨時目錄,/root是根據當前用戶名root創(chuàng)建的目錄。在Hive客戶端工具Beeline中執(zhí)行“!table”命令退出當前會話,再次使用Hive客戶端工具Beeline,在虛擬機Node_03中遠程連接虛擬機Node_02的HiveServer2服務時,會發(fā)觀數據庫 hive_database中已經不存在臨時表temporary_table。

注意:

(1)臨時表不支持分區(qū),不能基于CREATETABLE句式創(chuàng)建臨時分區(qū)表。

(2)臨時表不支持索引。

(3)臨時表是數據表的一種展現形式,因此針對數據表的操作同樣可以應用于臨時表。

(4)如果同一數據庫中的臨時表與非臨時表名稱一致,那么此會話內任何操作都會被解析為臨時表的操作,用戶將無法訪問同名的非臨時表。






分享到:
在線咨詢 我要報名
和我們在線交談!