Я работаю над кластером Hadoop (HDP) с Hadoop 3. Также установлены Spark и Hive.
Поскольку каталоги Spark и Hive разделены, иногда бывает немного запутанно знать, как и где сохранять данные в приложении Spark.
Я знаю, что для свойства spark.sql.catalogImplementation
можно задать значение in-memory
(для использования каталога на основе сеанса Spark) или hive
(с использованием каталога Hive для постоянного хранения метаданных -> но метаданные по-прежнему отделены от баз данных и таблиц Hive).
Мне интересно, что делает свойство metastore.catalog.default
. Когда я устанавливаю это значение на hive
, я могу видеть свои таблицы Hive, но поскольку таблицы хранятся в каталоге /warehouse/tablespace/managed/hive
в HDFS, у моего пользователя нет доступа к этому каталогу (потому что улей, конечно, является владельцем).
Итак, зачем мне устанавливать metastore.catalog.default = hive
, если я не могу получить доступ к таблицам из Spark? Имеет ли это какое-то отношение к Hortonwork's Hive Warehouse Connector?
Спасибо за помощь.