2
我從美聯儲經濟數據集API導入數據。每個請求會返回每日,每週,每月或每年的時間序列。我的最終目標是做變量選擇並建立一個基於貝葉斯的模型,使用選定的時間序列作爲特定時間序列的預測變量。將這些數據組織成數據框架的最佳方式是什麼?在Spark DataFrame中佈置TimeSeries數據的最佳方式 - 斯卡拉
根據這documentation我想我的數據應該列在「Instants」format。然而,我嘗試加入超過200,000列的結果後,所有這些嘗試都變得極其緩慢。下面的文檔參考中的另一種格式是「TimeSeriesRDD」,但導入的時間序列通常沒有日期重疊,範圍從1930年到現在。那麼,將這些數據組織成數據框架的最佳方式是什麼?
如何將FRED中的數據加載到推薦的格式中的示例將非常感謝!
這是我的第一種方法是慢得
for (seriesId <- allSeries) {
val series = loadSeriesFromAPI(seriesId, spark)
allSeries = allSeries.join(series, allSeries.col("date") === series.col(seriesId + "_date"), "outer")
allSeries = allSeries.drop(seriesId + "_date")
}
我的第二個,我將不得不在一個時間
for(row <- series) {
val insertStr = "%s, %g".
format(
row.asInstanceOf[Map[String, Date]]("date").asInstanceOf[String],
parseDoubleOrZero(row.asInstanceOf[Map[String, Double]]("value").asInstanceOf[String])
)
}
謝謝你的洞察力!我喜歡你要去的地方,並且有幾個問題。首先,讓我們說我想使用一個隨機森林算法來縮小列數。我怎麼能夠在不將所有數據攝入數據框的情況下做到這一點?其次,批量存儲大量數據是否正常?似乎查詢數據會更困難? – jskracht