我正在使用 Hadoop 3 开发 Hadoop 集群 (HDP)。还安装了 Spark 和 Hive。
由于 Spark 和 Hive 目录是分开的,因此有时很难知道在 Spark 应用程序中如何以及在何处保存数据。
我知道,该属性spark.sql.catalogImplementation
可以设置为in-memory
(使用基于 Spark 会话的目录)或hive
(使用 Hive 目录进行持久元数据存储 -> 但元数据仍与 Hive DB 和表分开)。
我想知道物业是做什么的metastore.catalog.default
。当我将其设置为时,hive
我可以看到我的 Hive 表,但由于这些表存储在/warehouse/tablespace/managed/hive
HDFS 的目录中,我的用户无权访问该目录(因为 hive 当然是所有者)。
那么,metastore.catalog.default = hive
如果我无法从 Spark 访问表,我为什么要设置 ? 它与 Hortonwork 的 Hive Warehouse 连接器有关吗?
谢谢您的帮助。