Как мне выполнить пакетную обработку моей модели машинного обучения R? - PullRequest
4 голосов
/ 23 апреля 2019

У меня есть скрипт 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?

...