Как стать автором
Поиск
Написать публикацию
Обновить
6
0
Сергей Климов @SergeyKlimov_Creator

Python-разработчик

Отправить сообщение

Есть задача анализа Индекса относительной величины цен (Relative Strength Index - RSI). Возможно ли получить это значение с использованием приведенных вами инструментов?

В данной статье не рассматривается разработка многопоточных и многопроцессорных приложений. Поднимать копии скриптов не вариант, т.к. источник входных данных для etl-процесса один. Т.е. копии скрипта будут "брать на борт" одни и те же данные. А вот использовать многопоточную/многопроцессорную обработку для требовательных к вычислительным ресурсам функций вполне уместно.

Спасибо за вопрос. В данной статье рассматривается заготовок кода, который можно заполнить своей бизнес-логикой. Да, записи поступают в алгоритм последовательно (можно сделать пачками, но тоже последовательно). Идея этой статьи возникла после реализации промышленного ETL-процесса, в котором каждая команда представляла из себя обращение к другой БД и/или сторонней апишки, т.е. i/o операцию. Поэтому производительность можно получить при реализации данных команд асинхронным способом.

Придется грузить всё по новой. Чтобы была возможность докачки, нужно дорабатывать и код сервера и код клиента. Обновление кода клиента в постановку задачи в рамках данного кейса не входил.

Ещё раз спасибо за комментарии. Внёс исправления в проект:

  • добавил тесты

  • `await request.content.read()` заменил на `async for data in request.content.iter_any()`

  • библиотеку `aiofiles` заменил на `aiofile`

  • параметризовал сервис переменными окружения

  • добавил запуск проекта в docker'е

  • инициализацию движка БД перенес в область глобальной видимости модуля

  • заменил `logger` на `aiologger`

По оставшимся вопросам:

  • репликация / шардирование постановкой задачи не были предусмотрены. Заранее было оговорено, что сервис работает в рамках локальной сети заказчика и бэкап делается его силами.

  • Если в процессе загрузки данных в файл выключится электричество на сервере, то процесс придется начинать заново. Насколько я себе представляю, чтобы возобновить загрузку файла с определенного места нужно ещё научить клиента понимать, с какого места продолжить байтовый поток. Но клиент в данном кейсе давался уже "как есть". Чтобы избежать ссылок на битые файлы, сохранение данных о новом файле в БД сервиса происходит только после сохранения файла на диске.

Спасибо большое за развернутый комментарий. Почемуaiofiles сомнительная библиотека? Какие предлагаете альтернативы?

Спасибо за замечание, переделаю на aiologger

Здесь важен контекст. Речь идёт о группах, в которых были выпускники курсов. Я использовал два варианта - на докере и на вагранте. Вагрант требовал от меня больше знаний и объяснений на входе в проект. Потом вопросов "как это мне запустить?" было минимум, потому что участники работали с привычным интерфейсом (по другому я это объяснить не могу). С докером было наоборот. Сначала приходилось объяснять что-такое докер, а затем попутно решать вопросы "а у меня слетело, а я перезапустил" и т.д.

<точно так>

в том числе docker

</точно так>

Спасибо за замечание, исправил

ещё рекомендую клонировать репозиторий и погонять код через отладчик. Будет интересно!

Спасибо за вопрос. Чтобы ответить на него я переработал статью. Надеюсь теперь понятнее.

Я ранее не работал с IBM DataStage. Насколько я понял из описания системы, она предназначена для перекачки данных из БД в БД. Если я ошибаюсь, напишите пож-та. Описанный мною etl процесс я использую для перекачки данных из БД в API-сервисы и наоборот. Причем API сервисы разные и требуют (или отдают) данные как json-формате, так и в xml. Помимо кода выгрузки, загрузки в etl-процессе требуется разработка билдеров и парсеров

Цель данной статьи - показать способ решения задачи на питоне. Что именно использовать: собственную разработку или готовое программное решение - на усмотрение постановщика задачи.

Логируется всё в воркер

Airflow безусловно да. Джанго появился из-за того, что в разрабатываемых мною проектах etl нужно было прикрутить в рамках уже существующего проекта. Как дополнительную функциональность.

Надо попробовать...

Информация

В рейтинге
Не участвует
Откуда
Барнаул, Алтайский край, Россия
Дата рождения
Зарегистрирован
Активность