问题描述
需要删除hive的数据库,直接使用drop database dbname
;提示
Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Database temp001 is not empty. One or more tables exist.)
原因
hive数据库中存在表,则不允许直接删除数据库,我们有两种解决方案。
- 可以先删除表再删除数据库,对于表比较多的情况,这种方法不可取
- 可以加上级联(cascade)删除关键字,直接使用级联删除
解决方案
我最终采取的是级联删除,因为这样很方便
drop database dbname cascade
时间
date:2018.12.06