2
我正在使用spark 2.0從parquet文件中讀取數據。spark中的reducebykey和aggregatebykey Dataframe
val Df = sqlContext.read.parquet("c:/data/parquet1")
val dfSelect= Df.
select(
"id",
"Currency",
"balance"
)
val dfSumForeachId=dfSelect.groupBy("id").sum("balance")
val total=dfSumForeachId.agg(sum("sum(balance)")).first().getDouble(0)
爲了獲得總餘額值,這是在數據框中使用first()操作得到它的最好方法嗎?
在spark 2.0中使用groupby key是否正確,它是否具有與rdd上的groupbykey相同的性能問題,就像它需要通過網絡混洗整個數據然後執行聚合或聚合在本地執行,如reducebykey在早期版本的火花
感謝
感謝您的解釋 – baiduXiu