Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从执行长时间运行查询的R脚本获取null_R_Rjava_Jri - Fatal编程技术网

从执行长时间运行查询的R脚本获取null

从执行长时间运行查询的R脚本获取null,r,rjava,jri,R,Rjava,Jri,我有一个R脚本,它从数据库中检索数据,对数据库执行一些操作,并提供我想要使用JRI在Java中检索的数据 beforeQuery <- c(1) query <- {{Query}} .... queryResult <- fetch(queryResultSet,1) 我已经通过独立运行R程序来验证queryResult是否正常 我可以做些什么来确保我可以在java程序中成功地获得结果 您需要将re.eval()方法传递到一个REXP变量中,然后使用.asString()将

我有一个R脚本,它从数据库中检索数据,对数据库执行一些操作,并提供我想要使用JRI在Java中检索的数据

beforeQuery <- c(1)
query <- {{Query}}
....
queryResult <- fetch(queryResultSet,1)
我已经通过独立运行R程序来验证queryResult是否正常


我可以做些什么来确保我可以在java程序中成功地获得结果

您需要将re.eval()方法传递到一个REXP变量中,然后使用.asString()将其传递到一个Java字符串中,如下所示:

REXP test =  re.eval("head(queryResult$column,100)");
   String [] output = test.asString();
 for (i = 0; i < test.length  ; i++) {System.out.println(output[i]);}
REXP test=re.eval(“head(queryResult$列,100)”;
字符串[]输出=test.asString();
对于(i=0;i
请注意,如中所述,从R传递到Java的数据量是有限制的,这就是为什么我添加了“head”来检查它是否有效。如果有,就把它取下来

REXP test =  re.eval("head(queryResult$column,100)");
   String [] output = test.asString();
 for (i = 0; i < test.length  ; i++) {System.out.println(output[i]);}