如何解决具有共享外部Metastore方案的多个HDInsight群集中默认Hive数据库的不同位置路径
在一个场景中,我们有一个外部共享的Hive Metastore被多个HDInsight Hadoop集群使用。我注意到默认数据库的位置因我正在从哪个群集运行查询而有所不同。可以说我是在'default'数据库中创建一个新的托管表而未指定LOCATION子句,现在该表的根目录路径在HDInsight群集的默认存储帐户的容器内,此create table命令从该容器中运行。这是不便之处。因为我们旋转并杀死集群,所以其中一些集群一直在运行,但是有时我们可能会杀死并重新创建集群。每次我们重新创建集群时,其默认容器(默认存储容器)都会更改。因此,我们不希望“默认”数据库的位置由运行命令的集群决定。在外部Hive Metastore(SQL实例)中,负责存储数据库根目录(“ DBS”)的表元数据始终具有指向默认位置的默认数据库,但是从未引用该值。始终由集群决定默认数据库根目录位置路径。因此,当我直接在DBS表中手动更新“默认”数据库的位置时,它没有用。不管哪个群集在默认数据库中运行CREATE TABLE命令,有什么办法可以解决此问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。