hive:删除数据库

cngwdvgl  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(592)

我需要把一个大的数据库放到Hive里,但我找不到一个跳过垃圾的选项,比如 purge 用于删除表格。当为垃圾箱应用空间配额时,这可能会带来麻烦!
有没有建议只使用hiveddl命令?
需要说明的是:
我的工作:

Drop database <my_db> cascade;

我在找什么或类似的东西:

Drop database <my_db> cascade purge;
svmlkihl

svmlkihl1#

存储在磁盘上的hdfs数据和配置单元元存储中的表定义是不同的实体。正如@congyh所建议的,您可以使用 hadoop fs -rm -r -skipTrash <data_path> 以及 drop db.table; 从hive0.11.0开始,您还可以在从元存储中删除表之前截断表(删除hdfs数据)。正如@lovish saini所建议的,在直线cli会话中: set hive.warehouse.data.skipTrash=true; truncate table db.table; drop table db.table;

unguejic

unguejic2#

配置单元默认值.xml

<property>
<name>hive.warehouse.data.skipTrash</name>
<value>true</value>
<description>
Set this to true if you do not want table data to be moved to trash while dropping table.
</description>
</property>

默认设置为false。此属性适用于配置单元0.14.0或更高版本。

jv4diomz

jv4diomz3#

也许您应该找到数据的路径并在删除数据库之前将其删除。
命令如下:

$ hadoop fs -rm -r -skipTrash <data_path>

相关问题