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