Как программно загрузить данные паркета из S3 в Афину без использования клея - PullRequest
0 голосов
/ 31 августа 2018

У меня есть данные о паркете в местоположении S3, которые необходимо загрузить в Афину для запросов. Но я не хочу вручную загружать из веб-интерфейса или вручную выполнять запрос. Можем ли мы сделать это программно, запустив код и передав местоположение S3?

Я не хочу использовать клей, так как он доступен не во всех регионах. Не могли бы вы помочь мне с кодом, чтобы сделать это, так как я очень плохо знаком с Афиной.

1 Ответ

0 голосов
/ 31 августа 2018

Чтобы запросить данные S3 из Афины, вам нужно только сообщить Афине местоположение данных и информацию о столбцах, типах данных, формате файла и т. Д. Просто чтобы прояснить ситуацию, «нагрузки» нет - Афина буквально обращается к S3 файлы на месте. Если вы измените эти базовые файлы, то Афина изменится соответственно.

Вместо «загрузки» в Афину лучше подумать о регистрации ваших данных в Афине. Вы делаете это путем создания внешней таблицы. Этот ответ имеет хороший пример. Как запросить данные паркета из Amazon Athena?

Если вы не знаете правильный синтаксис для создания внешней таблицы, я бы посоветовал вам использовать способность Glue для создания этого определения данных в качестве одноразового упражнения. Оказавшись там, вы можете запустить SHOW CREATE TABLE my_table в Афине, которая покажет вам оператор, который был выполнен для создания таблицы.

Клей обычно не нужен для использования Athena - это простой способ начать, но это просто еще один шаг, который требует времени, добавляет сложности и т. Д.

...