我有一个用于随机森林分类模型的R脚本。我使用RPostgreSQL
将R实例连接到我的redshift postgres数据库,然后使用caret
库运行了一系列数据转换和模型命令。
我的模型为每个用户分配一个分数。我一直在自己运行模型,并先将数据s3和transferring it上传到\copy
我想使过程自动化。所有查询每次都保持不变,包括用于构建模型的R脚本,但是底层数据会发生变化,因此我想确保我的模型是根据最新数据进行计算,然后重写scores
桌子。
我本打算使用AWS lambda
并设置cron作业,但是该模型需要300秒钟以上。相反,我正在考虑这种体系结构:
1-编写一个脚本,该脚本触发R作业以curl请求运行。这将导致R脚本通过plumbR
2-让R API将新的scores
作为JSON对象返回,然后使用Python脚本将分数上传到s3
,然后\copy
将其转移到redshift postgres。
3-在AWS弹性beantalk上设置cron作业以触发每个星期一,
那行得通吗?我可以使用AWS beanstalk来设置python脚本以自动运行,如果是这样,是否意味着我需要运行24/7的ec2实例?