在控制台上停止 RServe 打印 json

Stopping RServe printing json on the console

我 运行 遇到了一个非常奇怪的问题。我有一个 R 代码,它不包含任何打印语句(除了我明确调用记录所用时间),但整个 json 被转储到 "R console"。这导致我们的模块出现严重的性能问题,我需要你的帮助来找出问题所在。

这只是R文件的一部分(由于公司政策,我不能post完整的源代码,很抱歉没有提供太多信息)

#run time/online time series models
LAST_TIME_ID <- DATA[nrow(DATA),id];
LAST_TIME_ID <- strptime(LAST_TIME_ID,format="%d-%m-%Y %H:%M");

#timestamp tag computation using frequency 
FREQUENCY_VEC <- rep(TIMESTAMP_FREQUENCY*60,PREDICTION_NUMBER);
FREQUENCY_VEC <- cumsum(FREQUENCY_VEC);
TIMESTAMP_TAGS <- LAST_TIME_ID + FREQUENCY_VEC;
TIMESTAMP_TAGS <- format(strptime(TIMESTAMP_TAGS,format="%Y-%m-%d %H:%M"),format="%d-%m-%Y %H:%M");

#prepare the prediction points data per tag into table format
PREDICTION_DATA <- NULL;
startTime <- Sys.time();
for (tag_index in 1:length(MODEL[,tag_id])) {
    TEMP <- data.table(id=as.character(TIMESTAMP_TAGS),tag_id = MODEL[tag_index,tag_id], prediction = as.vector(MODEL[,Forecast][[tag_index]]));
    PREDICTION_DATA <- data.table(rbind(PREDICTION_DATA,TEMP));
    rm(TEMP);
};
endTime <- Sys.time();
print(paste("seconds consumed (prediction points data per tag into TEMP): ",(endTime-startTime)/1000));


#OUTPUT <- dcast(PREDICTION_DATA,id~tag_id); #into output
OUTPUT <- PREDICTION_DATA;

#compute final output in json format
js_object <- toJSON(OUTPUT,asIs = TRUE);    
js_object;

我可以向您保证其余代码看起来是一样的(即没有打印)。我 运行 我的 R 代码通过 Java (1.8) 在 Windows 8.

上使用 RServe (REngine.jar)

任何 ideas/clues 将不胜感激。

当您在末尾键入 js_object 文件名时,您正在调用该对象并且 R 正在将内容打印到控制台。您需要做的就是删除它,它应该停止打印出来。

您刚刚执行的选择片段的最后一行: js_object;

将变量打印到控制台。

删除此类没有分配给变量的语句。