Использование AWSGlue в качестве Hive Metastore, где данные находятся в S3 - PullRequest
0 голосов
/ 13 декабря 2018

извинения, если на этот вопрос ответили в другом месте (но я не думаю, что это так).Я пытаюсь использовать AWSGlue в качестве внешнего хранилища метаданных для Hive через кластер EMR.

У меня есть некоторые данные, хранящиеся в виде текстовых файлов на S3, и через веб-консоль AWSGlue я создал определение таблицы для этих текстовых файлов.

Я также запустил кластер EMR, выполнив следующие указания:https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html

Когда я зашел в свой кластер EMR и попытался получить доступ к Hive, я ожидал обнаружить, что таблица, созданная в AWSGlue, будет существовать, когда я выполню команду «show tables», но вместо этого получаюследующее сообщение об ошибке при запуске интерактивной оболочки Hive:

Исключение в потоке "main" java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException (сообщение: невозможно проверить существование базы данных по умолчанию: com.amazona ws.services.glue.model.AccessDeniedException: пожалуйста, перенесите каталог, чтобы разрешить доступ к этомубаза данных (Сервис: AWSGlue; Код Статуса: 400; Код ошибки: AccessDeniedException; Идентификатор запроса: e6b2a87b-fe5a-11e8-8ed4-5d1e42734679))

Похоже, здесь произошла ошибка разрешения.Я использую EMR_EC2_DefaultRole для своего профиля экземпляра EC2, поэтому я не думал, что это произойдет.

Я что-то упускаю из виду?

Спасибо за любую помощь, которую вы можете оказать!

Ответы [ 3 ]

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

Чтобы решить эту проблему, вам придется перенести существующий каталог Athena в каталог данных клея, как объяснено здесь

Чтобы убедиться, что ваш каталог Athena был перенесен, выполните следующеекоманды, использующие AWS cli:

aws glue get-catalog-import-status --catalog-id <aws-account-id> --region <region>
0 голосов
/ 04 мая 2019

Недавно я столкнулся с точно такой же проблемой и смог ее преодолеть, обновив Athena до Glue Catalog.

Я также не использую Athena или Redshift Spectrum для запроса таблицы, но на консолях Glue и Athena былисообщение:

Чтобы использовать каталог клейких данных AWS в качестве общего хранилища метаданных для Amazon Athena, Amazon Redshift Spectrum и Amazon EMR, необходимо обновить каталог данных Athena до AWS Glue Data.Каталог.Без обновления таблицы и разделы, созданные AWS Glue, нельзя запросить с помощью Amazon Athena или Redshift Spectrum.

Вскоре после обновления я смог запросить таблицу через ульи и искровые оболочки из кластера EMR.

Это может быть связано с тем, что ваши default и другие базы данных уже созданы через Athena и должны быть обновлены до Glue для использования из EMR, поскольку default - это база данных по умолчанию, которую ваш куст будет использовать после перехода кУлей в ЭМИ.Вы должны использовать DBName.tableName или явно переключаться на БД, которая состоит из вашей таблицы, для выполнения запросов.

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

Просьба приложить AWS GLUE и S3 полный доступ к текущей роли IAM.это должно сделать это.

...