Доступ к таблицам Hive из другого кластера Azure HDinsight из нашего кластера - PullRequest
0 голосов
/ 27 ноября 2018

У нас есть кластер HDInsight в нашей настройке, и мы храним данные в таблицах Hive (данные находятся в виде внешних таблиц в ADLS и метаданных во внешнем мета-хранилище и доступны с помощью службы Hive из нашего кластера Azure).Как лучше всего делиться этими данными с другими кластерами Azure, не обязательно в рамках одной подписки?

В Azure есть такая концепция принципалов службы, поэтому нам нужно настроить acls, чтобы разрешить службу другого кластера.основной доступ к папкам ADLS, соответствующим таблицам кустов, которые мы разделяем.Кроме того, как другие URL-адреса Azure могут использовать URL-адрес hiveserver2 нашего кластера, чтобы они могли запрашивать данные?Какой логин кластера мы должны предоставить, чтобы они могли использовать наш HiveServer2 для запроса данных в наших таблицах Hive?

Я понимаю, что правильным способом для этого было бы использование службы Azure ESP, но этоочевидно, это дорогостоящий выбор.

Предоставление им доступа только к папкам ADLS также кажется неправильным, поскольку метаданные не используются для доступа к данным ...

1 Ответ

0 голосов
/ 02 декабря 2018

Описанный сценарий может быть достигнут с помощью общего метастаза.Поскольку у вас уже есть внешнее хранилище метастазов, вы можете использовать его и для других кластеров.Обязательным условием является то, что версия Hive-Metastore для кластеров, обращающихся к этому метастару, одинакова.

Вы также можете изменить настройки основного сайта в шаблонах создания кластера, чтобы иметь одинаковую структуру файловой системы (если вы не используете полные имена учетных записей хранения):

"core-site": {
    "fs.defaultFS": "adl://home",
    "dfs.adls.home.hostname": "<your-datalake-store>.azuredatalakestore.net",
    "dfs.adls.home.mountpoint": "/<your-adl-home-mountpoint-dir>",...
     },

В Spark это будет сделано с помощью:

spark.conf.set("dfs.adls.home.hostname", "<your-datalake-store>.azuredatalakestore.net")
spark.conf.set("dfs.adls.home.mountpoint", "/<your-adl-home-mountpoint-dir>")

См. Также сообщение в блоге .

Проверьте также следующий ответ как получить доступ к HDInsight из pyspark (также "извне").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...