【问题标题】:Running R and packages on GCP cloud function [closed]在 GCP 云功能上运行 R 和包 [关闭]
【发布时间】:2017-12-26 01:42:34
【问题描述】:

我一直在使用 AWS Lambda 通过打包依赖项(CRAN 包)并将其与 AWS Lambda 一起部署来执行一些 R 代码。 与在实例上运行相比,这有助于我在大量数据上并行运行一小块 R 代码。 我已经参考了这篇文章GENOMICS ON AWS LAMBDA Lambda 在 Python 上使用 RPY2 执行。

我正在探索在 Google Cloud Functions 上运行 R 代码的可能性,因为我正在使用 Big Query 查询一些数据。

我看到 Google Cloud Functions 现在只支持 NodeJS。从 NodeJS 执行 R 脚本的方法很少。 NPM Stackoverflow

但我还需要打包所有必要的包来运行我的 R 代码。在 AWS 上,我使用 AWS AMI 安装所有 R 包,然后创建一个可以部署的 Zip。

我想知道是否有人尝试在 Google Cloud 函数上运行带有包的 R 代码。

【问题讨论】:

  • 您是否尝试过这样做并遇到任何问题?您应该能够使用任意数量的文件部署您的云功能,直到 deployment size limit,尽管可能需要将它们包含在您的 package.json 中。因此,理论上使用 Cloud Function 部署 R 包应该没有问题。

标签: r google-cloud-platform google-cloud-functions serverless-framework


【解决方案1】:

我会考虑为您的任务而不是 CloudFunctions 使用 AppEngine 或容器。这里有一些关于如何做到这一点的建议:http://code.markedmondson.me/4-ways-schedule-r-scripts-on-google-cloud-platform/,在 Compute Engine 上:https://cloud.google.com/solutions/running-r-at-scale

【讨论】:

  • 我们一直在 Compute 上这样做,但使用 Lambda 成本低且速度更快..但是当我们在 GC Function 上尝试相同的方法时,我们发现与 AWS Lambda 相比,冷启动需要很长时间。 .因此,直到 GCP 赶上 Lambda 是好的。。GCP Functions 的唯一优势是 500MB 与 250MB 的包大小,现在 Lambda 上已增加到 500MB ..我们一次可以生成近 3000 个 Lambda,这可以帮助我们运行大并行数据操作,只要它们少于 5 分钟..对于这种性能,如果我们使用 AppEngine/Containers /compute,我们将需要更多的计算能力..
  • @AnantBhandarkar,您认为哪一个值得麻烦 - 经历 Rpy2 进程(或)用 Python 重写我的 R 代码?谢谢。
猜你喜欢
  • 2021-08-19
  • 2020-01-25
  • 1970-01-01
  • 1970-01-01
  • 2022-06-17
  • 2020-06-27
  • 2020-11-13
  • 2022-09-01
  • 1970-01-01
相关资源
最近更新 更多