【Hive】drop table需注意外部表

什么是内部表,外部表?

比较专业的定义:

外部表需要转为内部表,执行删除操作才能真的删表结构删表数据。否则drop table仅是删除了表数据,表结构还是存在的。

alter table tb_name set TBLPROPERTIES('EXTERNAL'='false');

这个只是把表设成内部表,如果表本身是外部表的话。如果你本来表就是内部表就不用执行这个

drop table if exists tb_name ;

Q: 内部外部是对生产账号来说的对吗?

A: 不是,内部,外部,是表的一个类型,跟生产帐号没有关系。如果是外部表,你DROP的时候只会删除表分区,但表的文件依然存在,不会做清理。

所以,如果是外部表,你在DROP的时候相当于没有做清理

注意用spark执行会报错,以下语句要使用hive执行。

ALTER TABLE tb_name SET TBLPROPERTIES('EXTERNAL' = 'FALSE');

报错信息:

INFO Error in query: Cannot set or change the preserved property key: 'EXTERNAL';

在知乎看到的解决方案:https://zhuanlan.zhihu.com/p/161771826

(其实并没有说怎么解决,可能只能hive引擎使用)

相关推荐
ha_lydms2 天前
Datetime Functions(日期时间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms2 天前
Bitwise Functions(位运算函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms2 天前
St Functions(空间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
成都蜀味缘餐饮技术培训学校2 天前
油炸串串技术培训实战指南,核心食材选购与预处理标准
数据仓库·经验分享·笔记·课程设计·微信公众平台
ha_lydms2 天前
Table Functions(表函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms2 天前
Json Functions(JSON 函数)
大数据·hadoop·spark·json·数据处理·dataworks·maxcompute
171320330计算机毕设编程2 天前
计算机毕业设计 基于Hadoop的新能源汽车发展前景分析 LW PPT
java·大数据·hadoop·python·算法·随机森林·线性回归
ha_lydms2 天前
Conditional Functions(条件函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
程序员大阳2 天前
副队长大数据教程(7)--Hadoop 集群角色配置逻辑详解
大数据·hadoop·分布式·集群·配置·角色·逻辑
ha_lydms2 天前
String Functions(字符串函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute