在控制台上停止 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;
将变量打印到控制台。
删除此类没有分配给变量的语句。
我 运行 遇到了一个非常奇怪的问题。我有一个 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;
将变量打印到控制台。
删除此类没有分配给变量的语句。