我对R
很陌生。我正在尝试做的是能够从另一个应用程序(Java)加载URL,该应用程序将运行R
脚本并输出JSON
,以便我的应用程序可以使用它。
我知道有一些像shiny
这样的框架充当R的Web服务器,但是我找不到关于这些框架的文档,该文档说明了如何通过URL传递参数,因此R可以使用它们。
理想情况下,我将需要调用以下网址:
http://127.0.0.1/R/param1/param2
该URL将调用R脚本,该脚本将使用
param1
和param2
来执行某些功能,并返回一个JSON
,然后从我的应用程序中读取该内容。 最佳答案
如果您尚未这样做,请结帐[DeployR]。您也可以将问题发布到DeployR Google网上论坛寻求帮助。
为了全面披露我是DeployR的作者之一
总览
DeployR是一种集成技术,用于在Web,桌面,移动和仪表板应用程序以及后端系统中部署R分析。 DeployR将您的R脚本转换为分析Web服务,因此R代码可以由安全服务器上运行的应用程序轻松执行。
借助分析Web服务,DeployR还解决了那些在现有IT基础架构中采用基于R的分析所面临的关键集成问题。这些服务使应用程序开发人员可以轻松地与数据科学家合作,以将R分析集成到其应用程序中,而无需任何R编程知识。
DeployR有两个版本:DeployR Open和DeployR Enterprise。 DeployR Open是免费的开源解决方案,非常适合原型设计,构建和部署非关键业务应用程序。
DeployR Enterprise可扩展到关键业务应用程序,并为生产级工作负载提供支持,并与流行的企业安全解决方案无缝集成,例如单点登录(SSO),轻型目录访问协议(LDAP),Active Directory或可插拔身份验证模块(PAM)。
我对R很陌生
长官。 DeployR适用于可能不了解R的数据科学家以及应用程序开发人员。
我正在尝试做的是能够从另一个应用程序加载URL
(Java),它将运行R脚本并输出JSON,以便我的应用程序可以使用它。
DeployR可以很好地退出。协助您的应用程序之间的通信
和DeployR服务器(将执行您的R)是DeployR Client libraries。
根据您的需求,DeployR在以下方面具有开箱即用的“客户端库”支持:
Java-client-library:https://github.com/deployr/java-client-library
.NET-client-library:https://github.com/deployr/dotnet-client-library
JavaScript and Node.js-library:https://github.com/deployr/js-client-library
DeployR还支持RBroker Framework
您的用例或运行时是否预期有大量工作量,或需要定期,计划或批处理。
我了解有一些框架如Shiny可以用作Web服务器
R,但找不到有关如何传递参数的那些框架的文档
通过URL,以便R可以使用它们
DeployR通过其APIS充当您的分析引擎。基本上认为它是
将您的R脚本变成安全的分析Web服务,以像任何其他方式一样使用
其他网络服务。
传递参数
将参数传递到DeployR中的R脚本很容易,但是您必须了解要从非R的语言将参数传递到R脚本。因此,需要完成一些“数据编码”。例如,将Java字符串转换为R character
或将Java布尔值转换为R logical
...
DeployR客户端库或RBroker使此操作变得容易。
听起来您好像在使用Java,因此请先阅读Java教程java-example-client-basics https://github.com/deployr/java-example-rbroker-basics
为您提供一些上下文,然后在java-example-client-data-io https://github.com/deployr/java-example-client-data-io
下签出许多Java示例。
示例源完全可用,因此应该为您提供所需的一切
为了了解如何从应用程序到DeployR服务器进行基本的I / O进行R分析。
理想情况下,我将需要调用以下网址:
http://127.0.0.1/R/param1/param2
我建议如上所述使用DeployR Client库进行通信,它就是这样做的。
与往常一样,将问题发布到DeployR Google组https://groups.google.com/forum/#!forum/deployr
以获得帮助。