Как протестировать запросы Amazon Athena

У меня довольно сложный запрос Athena, который я хотел бы протестировать на локальной машине без подключения к Athena. Я указал некоторые фиктивные данные для целей тестирования и надеялся, что смогу использовать что-нибудь простое, например SQLite, для развертывания локальной базы данных, заполнения ее фиктивными данными, запуска тестов и разрушения базы данных.

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

Тестирование проводится на Python.

🤔 А знаете ли вы, что...
В Python есть инструменты для тестирования кода, такие как библиотека unittest.


58
1

Ответ:

Решено

Возможность добиться того, что вы предложили, - через localstack.

Здесь обширное руководство, в котором также показано, как создавать различные типы таблиц с фиктивными данными, а затем подключаться к локальному стеку через pyathena.

В любом случае, поддержка Athena в localstack, похоже, есть в версии Pro (проверьте страницу цен , чтобы получить больше информации).

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