当前位置: 首页 > news >正文

【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引擎使用)

http://www.lryc.cn/news/160588.html

相关文章:

  • 【2023数学建模国赛】A题定日镜场的优化设计模型建立
  • QT 事件与信号区别
  • [Vue3 博物馆管理系统] 使用Vue3、Element-plus tabs组件构建选项卡功能
  • 【算法专题突破】滑动窗口 - 长度最小的子数组(9)
  • 骨传导与入耳式耳机哪种音质好?该如何选择?
  • 【多线程】Timer任务定时器实现与盲等原子性问题的解决
  • SpringCloud-GetWay 路由网关
  • 使用生成式 AI 增强亚马逊云科技智能文档处理
  • 谈论浏览器内核
  • 电商卖家保障数据隐私和安全用什么安全的浏览器?
  • ECS通过DNAT将C非专线网段并网
  • g++模板显式实例化big file例子
  • Redis 删除策略
  • 自动化运维——ansible (五十二) (01)
  • 渗透测试漏洞原理之---【不安全的反序列化】
  • 建站系列(四)--- Web服务器之Apache、Nginx
  • TCP和UDP的区别
  • MBR、GPT、LVM分区
  • uniapp 下拉刷新
  • ifstream之seekg/tellg
  • OpenCV 01(图像加载与显示)
  • 1-Pytorch初始化张量和张量的类型
  • 诊断网络卡的原因
  • 100万级连接,爱奇艺WebSocket网关如何架构
  • 当电脑遇到msvcp110.dll丢失怎么办?最新解决方法分享
  • 微信小程序自动化测试pytest版工具使用方法
  • React 与 TS 结合使用时的技巧总结
  • 【深入解析spring cloud gateway】07 自定义异常返回报文
  • 如何写一个sh脚本将一个本地文件通过 scp命令上传到远程的 centos服务器?
  • 【CMake工具】工具CMake编译轻度使用(C/C++)