hadoop - 是否有 sql 命令可以删除外部表的 HDFS 上的文件
问题描述
我会问在 hive 中是否有一个 sql 命令来删除表并删除这个外部表的 hdfs 上的文件。
当我使用 hdfs 命令删除文件时,我总是害怕我可能会删除不属于这个外部表的其他文件。
解决方案
没有这样的 sql 命令可以直接删除外部表,但有另一种选择
- 首先将此表设为托管:
- 放下桌子
步骤1 :
ALTER TABLE <table-name> SET TBLPROPERTIES('EXTERNAL'='False');
第2步 :
drop table <table-name>; //now the table is internal if you drop the table data will be dropped automatically.
推荐阅读
- reactjs - React useRef 不适用于 Material UI TextField
- java - 我不能在 JSP 声明脚本中使用 response.getWriter() 来初始化关于 PrintWriter 对象
- javascript - 单击菜单导航动画到该部分
- python - 向 YouTube v3 Data API 发出请求时,我在哪里添加我的授权令牌?
- redirect - IIS URL 使用完全匹配从一个域重写到另一个域
- c - 这是使用 pthread 的正确方法吗?
- javascript - 我如何在使用 Node.js 的 url 中添加我的网络应用程序名称?
- php - 如何使用 Docker 更改文档根目录
- c++ - 在编译时已知为假的条件下,在 C++ 中格式错误的 goto 跳转:它实际上是非法的吗?
- c++ - MacOSX 上的 GUI 应用程序不显示窗口?SDL/C++