配置单元 - 如何删除外部配置单元表以及数据

amr*_*rk7 12 hive drop-table hdfs

我在用

drop table <table_name>
Run Code Online (Sandbox Code Playgroud)

如果我重新创建具有相同模式和名称的表,我将返回旧数据.我应该从hdfs文件系统中删除表目录以完全摆脱数据吗?

HIS*_*ISI 6

您必须在删除外部表之前将其更改为内部表:

例子

beeline> ALTER TABLE $tablename SET TBLPROPERTIES('EXTERNAL'='False'); // make the table as internal
Run Code Online (Sandbox Code Playgroud)

进而:

beeline> drop table $tablename; //if you drop the table data will be dropped as well.
Run Code Online (Sandbox Code Playgroud)


pen*_*nsz 1

不需要删除 hdfs 中的目录,除非您需要更多 hdfs 空间。

如果你想替换新数据,你只需要替换hdfs中的文件即可。

如果您想将表名用于其他用途,请删除该表并删除 hdfs 中的目录。

事实上,我认为这是一个非常方便的功能,您可以更改表的架构(例如,您想要更改字段名称或将两个字段连接到一个字段)而不会丢失任何数据。

  • 删除hdfs文件,删除表;在 hdfs 中导入新文件并创建新表。 (5认同)
  • 我的问题是我需要删除数据但重新创建具有相同名称和架构的表? (2认同)