Database 删除配置单元中包含表的数据库

Database 删除配置单元中包含表的数据库,database,hive,hiveql,Database,Hive,Hiveql,我在hive中有一个数据库,大约有100个表。我想在单次查询中删除整个数据库 如何在Hive中实现这一点?您可以使用以下命令: DROP DATABASE IF EXISTS HIVE_DATABASE_NAME CASCADE; 在这种情况下,您使用的是旧版本的配置单元: 首先从配置单元数据库中删除所有表和视图,然后删除数据库。您可以将下面的命令合并到shell脚本中执行 hive -e 'use HIVE_DATABASE_NAME;show tables' | xargs -I '{}'

我在hive中有一个数据库,大约有100个表。我想在单次查询中删除整个数据库


如何在Hive中实现这一点?

您可以使用以下命令:

DROP DATABASE IF EXISTS HIVE_DATABASE_NAME CASCADE;
在这种情况下,您使用的是旧版本的配置单元: 首先从配置单元数据库中删除所有表和视图,然后删除数据库。您可以将下面的命令合并到shell脚本中执行

hive -e 'use HIVE_DATABASE_NAME;show tables' | xargs -I '{}' hive -e 'use HIVE_DATABASE_NAME;DROP TABLE IF EXISTS {}'

hive -e 'use HIVE_DATABASE_NAME;show tables' | xargs -I '{}' hive -e 'use HIVE_DATABASE_NAME;DROP VIEW IF EXISTS {}'

hive -e 'DROP DATABASE IF EXISTS HIVE_DATABASE_NAME;'
使用

DROP DATABASE database_name CASCADE;

默认情况下,模式为
RESTRICT
,如果数据库包含表,则阻止删除数据库。

一般语法如下:

hive> DROP DATABASE [IF EXISTS] database_name [RESTRICT|CASCADE];
默认行为是RESTRICT,如果数据库不是空的,删除数据库将失败。要同时删除数据库中的表,请使用drop database…with CASCADE选项

1。删除没有表或空数据库的数据库:

hive> DROP DATABASE [IF EXISTS] database_name [RESTRICT|CASCADE];
2。删除包含表的数据库:

hive> DROP DATABASE [IF EXISTS] database_name [RESTRICT|CASCADE];

它会在删除数据库之前删除相应的表。

?相同的情况,2414个表。它需要永远,它是一个由拼花提供数据的外部表格。为什么HIVE要花这么长时间才能删除外部DB级联?说真的,每个表删除3秒钟。如果输入时出现错误
没有可行的选择,请删除数据库
尝试在数据库名称周围加上反勾号<代码>删除数据库`数据库名称`级联任何原因此操作需要每个桌子3秒钟,在连续放置带有2414个外部桌子(拼花地板位置)的DB时?