Вызов скрипта R из python в AWS лямбда
Я знаю, что в python есть пакет под названием rpy2 для интеграции R и python.
Вызов сценария R из python с использованием rpy2, в этой ссылке они описали обычную работу.
Но чтобы сделать то же самое в AWS lambda, нужно указать путь, который мы можем указать вместо имени "папка" в этой ссылке.
0 ответов
Я использую очень простой метод для обмена между python и R с помощью rpy2, вот один пример, где я пишу сценарий R в виде строки, а затем использую rpy2, чтобы перевести его для R и вернуть его обратно,
path="H:/projects/somepackage/CODE"
from rpy2.robjects.packages import SignatureTranslatedAnonymousPackage
string = """
setwd <- function(x) {
setwd("%s")
return (getwd())}
""" % (path)
print (string)
powerpack = SignatureTranslatedAnonymousPackage(string, "powerpack")
#The R functions setwd can be called with powerpack.setwd () as
powerpack.setwd()[0]
Я не уверен, что это может быть полезно в вашем случае, но если вам каким-то образом удастся перенести код в AWS, вы обязательно получите результаты... Вы также можете попытаться сохранить строку в виде файла, а затем попросить Python скомпилировать ее. как внешняя функция (раньше я делал это без rpy2)
ура
Существует намного больше шагов для запуска R в Lambda по сравнению с простым использованием rpy2 локально, а именно, что вам нужно загрузить все библиотеки C, которые требуются R перед попыткой импортировать rpy2. Эта статья http://jaehyeon-kim.github.io/2017/04/Serverless-Data-Product-POC-Backend-Part-I.html отлично справляет вас со всеми шагами.