日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

hive mysql 删除表_Hive-删除表(drop、truncate的区别)

發(fā)布時間:2025/3/21 数据库 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hive mysql 删除表_Hive-删除表(drop、truncate的区别) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Hive刪除操作主要分為幾大類:刪除數(shù)據(jù)(保留表)、刪除庫表、刪除分區(qū)。我將以下圖為例清空iot_devicelocation中的數(shù)據(jù),之后再刪除表、庫等。

解釋:

use xpu123;? ?#使用的庫為xpu123

show tables;? #顯示該庫中的所有的表名

首先來看一下iot_deivcelocation中的數(shù)據(jù)。select * from?iot_deivcelocation。

一、僅刪除表中數(shù)據(jù),保留表結(jié)構(gòu)

hive> truncate table iot_devicelocation;

truncate操作用于刪除指定表中的所有行,相當(dāng)于delete from table where 1=1.表達(dá)的是一個意思。

注意:truncate 不能刪除外部表!因為外部表里的數(shù)據(jù)并不是存放在Hive Meta store中。創(chuàng)建表的時候指定了EXTERNAL,外部表在刪除分區(qū)后,hdfs中的數(shù)據(jù)還存在,不會被刪除。因此要想刪除外部表數(shù)據(jù),可以把外部表轉(zhuǎn)成內(nèi)部表或者刪除hdfs文件。

二、刪除表

hive> drop table if exists iot_devicelocation;

drop table if exists table_name;

三、刪除庫

hive> drop database if exists xpu123;

drop database if exists database_name;但是根據(jù)第二步操作結(jié)束,我們的數(shù)據(jù)庫xpu123中,還存在iot_deviceenergytype表,因此,如果直接刪除,會報以下錯誤。Hive會提醒你,將要執(zhí)行刪除操作的xpu123的庫里面還存在tables。

解決這個錯誤有兩種方法:一、就是很簡單的將所有表先刪除完,再刪除庫。

另外一種就是使用下述的方法:使用cascade關(guān)鍵字執(zhí)行強制刪庫。drop database if exists xpu123 cascade; 如下所示

四、刪除hive分區(qū)

alter table table_name drop partition (partition_name='分區(qū)名')

hive> alter table tablename drop partition(load_date='2019-01-01');

參考:https://blog.csdn.net/a_drjiaoda/java/article/details/94433005

總結(jié)

以上是生活随笔為你收集整理的hive mysql 删除表_Hive-删除表(drop、truncate的区别)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。