Spark SQL 外部表(hive 支持)- 在元存储数据库中查找外部(blob 存储)表的位置“路径”

buk*_*kli 5 apache-spark hive-metastore

我已经设置了一个由 postgres 支持的独立 hive-metastore(v3.0.0),并在 Spark sql 中创建了外部表。外部数据位置位于天蓝色 blob 中。我可以使用 dbname.tablename 而不是实际位置来查询这些表。这些是非分区表。

当我检查 Metastore postgres db,TBLS 表时,我可以看到字段 TBL_TYPE 设置为 EXTERNAL_TABLE,并且有一个键 SD_ID 映射到表 SDS。SDS 表有一个 LOCATION 字段,该字段不显示实际的 blob 位置。相反,它显示数据库路径并附加一个 PLACEHOLDER。

Location
file:/home/ash/mydatabase/youraddress4-__PLACEHOLDER__ 
Run Code Online (Sandbox Code Playgroud)

上述本地位置甚至不存在。

Spark或Hive Metastore如何解析表的实际位置以及它实际存储在Metastore数据库中的位置?