Быстрый запуск проекта Almalife-ETL
Необходимое окружение
Для запуска проекта необходим Docker Compose.
Порядок установки и запуска
-
Скопировать файл .env-example в файл .env в корне проекта или рядом с файлом file_tester.py
-
Файл .env-docker-example скопировать с именем .env-docker
-
В файлах .env и .env-docker установить любой одинаковый пароль в переменной POSTGRES_PASSWORD
-
В корне проекта запустить команду
docker compose up -d -
Дождаться сообщения в log-ах запущенного приложения superset текста:
Running on http://127.0.0.1:8088 -
На данном этапе будет запущена инфраструктура работы с данными
Запуск тестовых примеров
Преобразования данных можно запускать двумя путями:
- файловым запуском
- отправкой конфигурации преобразований на FastAPI сервер
Файловый запуск преобразований
Для запуска преобразований необходимо запустить на выполнение в Python файл [file_tester.py]https://github.com/Enroi/almalife/blob/main/api_server/file_tester.py) с первым параметром в виде пути к файлу конфигураций преобразований. Пример:
python .\file_tester.py .\etl\configs\xml_to_db.yaml
В результате работы Almalife из файла usd_currencies.xml будет создана таблица базы данных usd_currencies которую можно посмотреть через UI Prisma по адресу http://localhost:8089/#schema=public&table=usd_currencies&view=table
Запуск трансформаций с помощью FastAPI сервера
Almalife может работать в серверном режиме предоставляя REST API метод трансформации.
Для запуска трансформаций через FastAPI сервер в Docker необходимо:
- Открыть ссылку FastAPI сервера запущенного в Docker
- В открывшемся окне "Swagger UI" выбрать метод /api/transform
- Нажать на "Try it out"
- Выбрать любой файл из раздела конфигураций трансформации
- Проверить результат в UI Prisma Studio