Hive-删除表(drop、truncate的区别)
Hive删除操作主要分为几大类:删除数据(保留表)、删除库表、删除分区。我将以下图为例清空iot_devicelocation中的数据,之后再删除表、库等。
解释:
use xpu123; #使用的库为xpu123
show tables; #显示该库中的所有的表名
首先来看一下iot_deivcelocation中的数据。select * from iot_deivcelocation。
一、仅删除表中数据,保留表结构
hive> truncate table iot_devicelocation;
truncate操作用于删除指定表中的所有行,相当于delete from table where 1=1.表达的是一个意思。
注意:truncate 不能删除外部表!因为外部表里的数据并不是存放在Hive Meta store中。创建表的时候指定了EXTERNAL,外部表在删除分区后,hdfs中的数据还存在,不会被删除。因此要想删除外部表数据,可以把外部表转成内部表或者删除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;但是根据第二步操作结束,我们的数据库xpu123中,还存在iot_deviceenergytype表,因此,如果直接删除,会报以下错误。Hive会提醒你,将要执行删除操作的xpu123的库里面还存在tables。
解决这个错误有两种方法:一、就是很简单的将所有表先删除完,再删除库。
另外一种就是使用下述的方法:使用cascade关键字执行强制删库。drop database if exists xpu123 cascade; 如下所示
四、删除hive分区
alter table table_name drop partition (partition_name='分区名')
hive> alter table tablename drop partition(load_date='2019-01-01');
参考:https://blog.csdn.net/a_drjiaoda/java/article/details/94433005
最新文章
- JavaScript 解决 onblur 与 onclick 冲突
- [转]Travis Ci的最接底气的中文使用教程
- python学习之——操作浏览器
- WPF 将DLL嵌入EXE文件(安装包)
- Asp.net上传文件Request.files获取不到文件
- Hadoop port to Jxta P2P Framework
- WPF跨程序集共享样式(跨程序集隔离样式和代码)
- WebService-通俗讲解
- UVa 11729 - Commando War(贪心)
- 使用jcrop进行头像剪切
- linux下测试宽带速度
- LYF模板连接.txt
- 转:js,jQuery 排序的实现,网页标签排序的实现,标签排序
- java 线程之executors线程池
- P3805 【模板】manacher算法
- Servlet 起航 文件上传 中文文件名下载
- mysql 安装问题一:由于找不到MSVCR120.dll,无法继续执行代码.重新安装程序可能会解决此问题。
- [NOI2014]起床困难综合征
- HDU 1010生成树
- SQL注入介绍
热门文章
- Noip模拟16 2021.7.15
- pyqgis学习细节
- lollipop_softap启动wifi ap失败
- hdu 2860 Regroup(并查集)
- 七. Go并发编程--sync.Once
- Swarm+Docker+Portainer(集群,图形化)
- char* 和 char[] 的区别
- Spring一套全通—工厂
- java+selenium+testNG+Allure报表【新增截图到报表功能】
- Python知识整理(三)