Spark и Hive в Hadoop 3: разница между metastore.catalog.default и spark.sql.catalog

Я работаю над кластером 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?

Спасибо за помощь.


person D. Müller    schedule 24.01.2020    source источник
comment
Эй, я попал в такую ​​же ситуацию. Ddi, у вас есть какие-то идеи, которыми вы можете поделиться?   -  person Nag    schedule 28.07.2020


Ответы (1)


Реализации каталога

Есть две реализации каталога:

  • in-memory для создания таблиц в памяти, доступных только в сеансе Spark,
  • hive для создания постоянных таблиц с помощью внешнего хранилища метаданных Hive.

Подробнее см. здесь.

Каталог метастор

В одном Hive Metastore может сосуществовать несколько каталогов. Например, версии HDP от 3.1.0 до 3.1.4 используют другой каталог для сохранения таблиц Spark и таблиц Hive.
Вы можете использовать metastore.catalog.default=hive для чтения внешних таблиц Hive с помощью Spark API. Расположение таблицы в HDFS должно быть доступно пользователю, запускающему приложение Spark.

Документация HDP 3.1.4

Вы можете получить информацию о шаблонах доступа в соответствии с типом таблицы Hive, функциями чтения / записи и требованиями безопасности по следующим ссылкам:

person Arthur PICHOT UTRERA    schedule 08.12.2020