Tag: rserve

从Java应用程序远程运行R代码

我需要从Java应用程序运行R代码。 R服务器安装在远程机器上。 我没有找到关于R的Java连接器的任何信息。也许我只是暴露了我的无知,但任何提示如何做到这一点将不胜感激。

Rserve服务器:如何终止阻塞实例(eval永远消失)?

我需要以multithreading的方式执行R eval ,这是Rserve提供的很好的东西。 但是,如果一个实例的eval需要太长时间,我需要能够关闭计算阻塞eval的实例。 就我测试而言,给定的实例将拒绝关闭,直到eval完成(显然,它需要在再次侦听之前获取结果)。 所以这是我的问题: 有没有办法在阻塞实例上获取java句柄(类似于Process对象),这样我就可以强制终止/终止eval(比如process.destroy() )? 换句话说,当我要求eval(创建连接,抛出命令)时,如何通过java在正在处理的eval和与之相关的Rsere实例之间建立关系? 或者我是否错过了一些已经允许处理这种需求的Rserve? 注意:我已经尝试通过serverEval()而不是在主实例上运行计算的常规eval运行所有(所有evals),但这当然不满意,因为它只使用一个进程(主要的一个) )。 我可以杀死的那个,但我的主要目标是能够单独关闭一个阻塞的eval,在一个单独的实例上运行。 而且,自然地,保持我的8个CPU内核的优势,也就是说,保持并行性。 除此之外没有必要使用Rserve(在这种情况下JRI引擎就足够了)。 注意:我想避免这种事情( 线程 ),在不同的端口上处理主服务器本身的几个实例。 那不是一个选择。 我已经尝试获取有关Rserve邮件列表的信息,但尚未得到答复。 我希望自己能够清楚地在这里得到答案或有用的评论。 如果没有,请询​​问详情。 非常感谢提前。 编辑:我还测试了RCaller ,它处理了R需要的尽可能多的实例,但是,因为它将结果写入XML文件以便稍后从java端解析(不像Rserve那样真正使用通信协议),它也是我必须执行的速度慢…

如何从Java自动启动Rserve?

我在IntelliJ IDE中编写Java应用程序。 该应用程序使用Rserve包连接到R并执行某些function。 当我想第一次运行我的代码时,我必须在命令行中启动R并启动Rserve作为守护进程,它看起来像这样: R library(Rserve) Rserve() 执行此操作后,我可以轻松访问R中的所有函数而不会出现任何错误。 但是,由于这个Java代码将被捆绑为可执行文件,因此有一种方法可以在代码运行后自动调用Rserve(),这样我就必须跳过使用命令行启动Rserve的手动步骤?

使用Eclipse和Rserve从Java调用R的简单程序

我的应用程序必须执行R操作,例如: m = matrix(sample(0:1,100, rep=T),ncol=10) 结果应该可供Java应用程序使用。 Rserve包将R桥接到其他语言,因为它充当TCP / IP服务器。 我已经阅读了网站,但不知道如何制作可以使用Rserve的最简单的应用程序。 制作一个使用Rserve从Java执行R命令的简单Eclipse应用程序需要哪些步骤?