目前我有一个shiny
网络应用,可以对内存中加载的3GB data.frame进行一些计算。
现在我没有在shiny
网络应用上实现此功能,而是需要将其作为一种宁静的服务,将其计算管道传输到另一个JSON
格式的应用,以便人们可以通过发送http来使用它要求使用http://my-app.com/function
我正在尝试opencpu
,但我不太明白如何加载并保存大数据到内存中以便我可以使用opencpu
的api来调用包中的函数只是为了进行计算,而不是每次发送http请求时都从磁盘加载大数据。
一种解决方法可能是在内存数据库中使用hbase
,并使用rhbase
加载数据。但在我花时间学习它之前,我想知道它是否是3GB data.frame的合理选择,因为它可能会增加序列化和其他东西的开销,从而抵消其速度优势。
实现此功能的更好方法是什么?使用opencpu
以外的软件包的解决方案也是受欢迎的,最好是免费的。
答案 0 :(得分:3)
您可能需要查看Plumber。您可以使用注释代码(可以包括加载数据)来装饰R函数,并通过REST API使其可用。
答案 1 :(得分:2)
您应该将数据放在一个包中,并将此包添加到服务器配置中的preload
。