知方号

知方号

Hive 删除包含表的数据库

默认情况下是不允许直接删除一个有表的数据库,那该如何删除呢?

当删除一个hive 数据库时,若该 数据库时包含表,则会提示不能删除。

hive> drop  database bigdata; FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.  InvalidOperationException(message:Database bigdata is not empty. One or more tables exist.)

用户要么先删除数据库中的表,要么再删除数据库;要么在删除命令的最后面加上关键字CASCADE ,这样可以使hive自行先删除数据库中的表;

hive> DROP DATABASE bigdata CASCADE; OK Time taken: 2.499 seconds hive> show databases; OK default Time taken: 0.025 seconds, Fetched: 2 row(s)

加上cascade以后可以了,会删除带表的权限。

 

常用的shell命令

1、显示当前数据库名称

如果在一个数据库很多的环境下工作,需要 在不同的库之间切来切去(手动敲查询的时候全使用dbName.table可不是什么好主意…),可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。