使用R作为一项宁静的服务

时间:2015-10-18 05:31:52

标签: json r hbase shiny opencpu

目前我有一个shiny网络应用,可以对内存中加载的3GB data.frame进行一些计算。

现在我没有在shiny网络应用上实现此功能,而是需要将其作为一种宁静的服务,将其计算管道传输到另一个JSON格式的应用,以便人们可以通过发送http来使用它要求使用http://my-app.com/function

等网址

我正在尝试opencpu,但我不太明白如何加载并保存大数据到内存中以便我可以使用opencpu的api来调用包中的函数只是为了进行计算,而不是每次发送http请求时都从磁盘加载大数据。

一种解决方法可能是在内存数据库中使用hbase,并使用rhbase加载数据。但在我花时间学习它之前,我想知道它是否是3GB data.frame的合理选择,因为它可能会增加序列化和其他东西的开销,从而抵消其速度优势。

实现此功能的更好方法是什么?使用opencpu以外的软件包的解决方案也是受欢迎的,最好是免费的。

2 个答案:

答案 0 :(得分:3)

您可能需要查看Plumber。您可以使用注释代码(可以包括加载数据)来装饰R函数,并通过REST API使其可用。

答案 1 :(得分:2)

您应该将数据放在一个包中,并将此包添加到服务器配置中的preload