Как я могу использовать dataproc для извлечения данных из больших запросов, которые не находятся в том же проекте, что и мой кластер dataproc? - PullRequest
0 голосов
/ 02 ноября 2018

Я работаю в организации, которой необходимо получать данные из одного из больших наборов данных нашего клиента, используя Spark, и учитывая, что и клиент, и мы сами используем GCP, имеет смысл использовать Dataproc для достижения этой цели.

Я прочитал Используйте соединитель BigQuery с Spark , который выглядит очень полезным, хотя, похоже, предполагается, что кластер dataproc, набор данных bigquery и область хранения для временного экспорта BigQuery находятся в одном и том же Проект GCP - это не так для меня.

У меня есть файл ключа учетной записи службы, который позволяет мне подключаться к данным нашего клиента, хранящимся в bigquery, и взаимодействовать с ними, как я могу использовать этот файл ключа учетной записи службы вместе с соединителем BigQuery и dataproc для извлечения данных из bigquery и взаимодействовать с ним в датапроке? Иными словами, как я могу изменить код, предоставленный на Использовать соединитель BigQuery с Spark для использования файла ключа моей учетной записи службы?

1 Ответ

0 голосов
/ 02 ноября 2018

Чтобы использовать авторизацию файла ключа учетной записи службы, необходимо установить для свойства mapred.bq.auth.service.account.enable значение true и указать соединителю BigQuery на файл ключа json учетной записи службы, используя свойство mapred.bq.auth.service.account.json.keyfile ( cluster или job ). Обратите внимание, что это значение свойства является локальным путем, поэтому вам необходимо заранее распределить файл ключей по всем узлам кластера, используя, например, действие инициализации .

Кроме того, вы можете использовать любой метод авторизации, описанный здесь , но вам нужно заменить префикс fs.gs properties на mapred.bq для Соединитель BigQuery .

...