假設我們有一個包含兩列(稱爲索引和值)的Spark數據集,按第一列(索引)排序。在Spark數據集中創建具有運行總計的列
((1, 100), (2, 110), (3, 90), ...)
我們希望有一個數據集與具有運行總計值的第二列(值)的第三列。
((1, 100, 100), (2, 110, 210), (3, 90, 300), ...)
任何建議,如何有效地做到這一點,有一次通過的數據?還是有沒有可用於此的任何罐裝CDF型功能?
如果需要,可以將數據集轉換爲Dataframe或RDD來完成任務,但它必須保持分佈式數據結構。也就是說,它不能被簡單地收集並轉換爲數組或序列,並且不會使用可變變量(僅適用於val
,不適用var
)。
感謝您詳細的答覆,@Ed。 我很懷疑。 也許我應該看看這個用例的近似方法類型[Greenwald-Khanna](http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf)。 –
沒問題@BahmanEngheta!如果你對我的答案滿意,你會介意將其標記爲已接受嗎? –