我看到了integra和hadoop的一些选项,比如: RHadoop、RHipe、Hadoop、RHive。
我在R方面没有任何经验,但我在Hadoop方面确实有很好的经验。我说的方法可能是不可行的,或者别的什么.
但有谁能分享他们对这种方法的看法-
我们是否可以使用JRI集成R和Hadoop :因为可以从java代码(使用JRI)调用R函数。我们是否可以这样做:用Java编写hadoop程序,如果我们需要R中的一些功能,那么在Java程序中调用R-函数吗?
发布于 2013-06-11 21:01:59
实现此工作的步骤如下:
代码:
private String[] Rargs = { "--vanilla" };
private Rengine re = null;
private REXP rn = null;
re = new Rengine(Rargs, false, null);代码:
rn = re.eval("result<-\"Hello world\"");
if( rn != null ){
System.out.println("Result is :"+rn.toString());
}代码:
hadoop jar HelloWorld.jar com.example.HelloWorld -files libjri.so,libR.so,libRblas.so -libjars JRI.jar -Dmapred.child.env="R_HOME=/usr/lib64/R"您可以在用逗号分隔的-files参数中包含更多的文件,如R文件、数据文件等,它将被传送到分布式缓存中。确保使用re.eval("sapply(\"file.R\",source)");从Java访问文件中的函数。
https://stackoverflow.com/questions/14601421
复制相似问题