我有一些JSON格式的數據,我想對其進行一些可視化處理。數據(大約10MB的JSON)加載非常快,但將其重新塑造成可用的形式需要幾分鐘的時間,只有100,000行。我有一些工作,但我認爲它可以做得更好。轉換JSON數據的性能問題
從我的sample data開始,這可能是最容易理解的。
假設你在/tmp
運行以下命令:
curl http://public.west.spy.net/so/time-series.json.gz \
| gzip -dc - > time-series.json
你應該能夠看到(過了一會兒)我的期望輸出這裏:
require(rjson)
trades <- fromJSON(file="/tmp/time-series.json")$rows
data <- do.call(rbind,
lapply(trades,
function(row)
data.frame(date=strptime(unlist(row$key)[2], "%FT%X"),
price=unlist(row$value)[1],
volume=unlist(row$value)[2])))
someColors <- colorRampPalette(c("#000099", "blue", "orange", "red"),
space="Lab")
smoothScatter(data, colramp=someColors, xaxt="n")
days <- seq(min(data$date), max(data$date), by = 'month')
smoothScatter(data, colramp=someColors, xaxt="n")
axis(1, at=days,
labels=strftime(days, "%F"),
tick=FALSE)
下面的算法答案是最大加速比來自哪裏,但我發現RJSONIO在某些測試中比rjson快(並且在解析各種JSON結構時更可靠)。可能值得嘗試一下 - 使用方法是相同的。 – Noah
感謝您的指針。我幾乎任意挑選。 – Dustin