Вызов скрипта 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 отлично справляет вас со всеми шагами.

Другие вопросы по тегам