具有共享外部Metastore方案的多个HDInsight群集中默认Hive数据库的不同位置路径

问题描述

在一个场景中,我们有一个外部共享的Hive Metastore被多个HDInsight Hadoop集群使用。我注意到默认数据库的位置因我正在从哪个群集运行查询而有所不同。可以说我是在'default'数据库中创建一个新的托管表而未指定LOCATION子句,现在该表的根目录路径在HDInsight群集的默认存储帐户的容器内,此create table命令从该容器中运行。这是不便之处。因为我们旋转并杀死集群,所以其中一些集群一直在运行,但是有时我们可能会杀死并重新创建集群。每次我们重新创建集群时,其默认容器(默认存储容器)都会更改。因此,我们不希望“默认”数据库的位置由运行命令的集群决定。在外部Hive Metastore(SQL实例)中,负责存储数据库根目录(“ DBS”)的表元数据始终具有指向默认位置的默认数据库,但是从未引用该值。始终由集群决定默认数据库根目录位置路径。因此,当我直接在DBS表中手动更新“默认”数据库的位置时,它没有用。不管哪个群集在默认数据库中运行CREATE TABLE命令,有什么办法可以解决此问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...