Как лямбда-запрос Афины по python - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь использовать python write one Lambda function.В функции, которую я хочу запросить Athena, возвращаемые результаты должны быть такими же строками, как и обычный результат SQL-запроса.Я пытаюсь использовать boto3, create_named_query() и get_query_results(), но это не работает.

Любой может привести один пример, я буду очень признателен, еще раз спасибо.

1 Ответ

0 голосов
/ 10 июня 2018

Спасибо за разъяснения.У вас есть три варианта.

  1. Использовать стороннюю библиотеку для выполнения в Athena (загрузка с использованием пакета развертывания ) и считывания результатов непосредственно в ваш кодв вашей лямбда-функции.
  2. Выполните требуемый SQL-запрос и прочитайте результаты непосредственно из S3 из вашей лямбда-функции.
  3. Создайте две лямбда-функции.Один, чтобы начать запрос, а другой, чтобы прочитать из результатов.Второй может быть запущен всякий раз, когда новый файл создается в целевом сегменте S3, используемом Athena.

Примите во внимание следующее (2018-06-09):

  1. Лямбда Максимальное выполнение Продолжительность составляет 300 секунд.
  2. Афина в настоящее время имеет максимальную длительность запроса , равную 1800 секунд .

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

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