Запрос конвейерной Афины после ETL от клея гусеничном - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть данные, которые поступают в корзину S3, и я хотел бы выполнять запрос к ним каждый час.Данные поступают в виде JSON.Я сканирую их, запускаю задание для данных, чтобы преобразовать их в формат ORC, и снова сканирую, чтобы создать таблицу, которая быстрее обрабатывает запросы, чем исходные JSON (поскольку они глубоко вложены).Я пытаюсь запросить данные с Афиной.Мне удалось связать предыдущие шаги вместе, используя события Lambda и cloudwatch.

Проблема здесь в том, что последний сканер должен создавать новые таблицы, а не просто разделы одной и той же таблицы, поэтому имя таблицы неизвестен до запуска списка заданий.Я обнаружил, что вы можете прослушивать создание новой таблицы и завершение сканера, но журнал конца запуска сканера не содержит имя новой созданной таблицы (используя Документация Amazon ).Есть ли способ получить это имя таблицы динамически и запросить его с помощью Lambda или Athena?Спасибо

1 Ответ

0 голосов
/ 13 февраля 2019

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

...