我们有一个场景,其中一个外部共享的hive元存储被多个hdinsight hadoop集群使用。我注意到,默认数据库的位置因运行查询的集群而异。假设我正在“default”数据库中创建一个新的托管表,但没有指定location子句,现在表的根位置路径位于hdinsight集群的默认存储帐户的容器中,从该集群运行create table命令。这很不方便。因为我们旋转并杀死集群,其中一些集群一直在运行,但偶尔我们可能会杀死并重新创建集群。每次重新创建集群时,它的默认容器(默认存储的容器)都会更改。因此,我们不希望“default”数据库的位置由运行该命令的集群决定。在外部配置单元元存储(sql示例)中,负责存储数据库根路径(“dbs”)的表元数据始终将此默认数据库指向固定位置,但从未引用此值。总是由集群决定默认的数据库根位置路径。因此,当我直接在dbs表中手动更新'default'数据库的位置时,它没有任何用处。无论哪个集群在默认数据库中运行createtable命令,都有办法解决这个问题吗?
暂无答案!
目前还没有任何答案,快来回答吧!