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