У меня есть скрипт R для модели классификации случайных лесов. Я подключил свой экземпляр R к своей базе данных redshift postgres с помощью RPostgreSQL
, а затем выполнил серию команд преобразования данных и модели, используя библиотеку caret
.
Моя модель присваивает оценку каждому пользователю. Я сам запускаю модель и загружаю данные s3, а затем передаю в postgres с \copy
Я бы хотел автоматизировать процесс. Все запросы остаются неизменными каждый раз, включая сценарий R для построения модели, но базовые данные изменяются, и поэтому я хочу убедиться, что моя модель рассчитывает на основе самых последних данных, а затем переписывает таблицу scores
.
Я собирался использовать AWS lambda
и настроить задание cron, но модель занимает более 300 секунд. Вместо этого я думаю об этой архитектуре:
1- Напишите скрипт, который запускает задание R с запросом скручивания. Это приведет к тому, что скрипт R загрузит новые данные и создаст модель с API отдыха через plumbR
2. Пусть R API вернет новый scores
как объект JSON, а затем с помощью скрипта Python загрузит результаты в s3
, а затем \copy
переместит их в красное смещение postgres.
3- Установите задание cron на эластичном стебле AWS, чтобы запускать его каждый понедельник,
Может ли это сработать? Могу ли я использовать AWS beanstalk для настройки автоматического запуска скрипта python, и если это так, значит ли это, что мне нужен экземпляр ec2, работающий 24/7?