Ich benutze spark 2.0, um die Daten von Parkett-Datei zu lesen.reduebykey und aggregatebykey in funken 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)
Um einen Gesamtbilanzwert zu erhalten, ist dies der beste Weg, um es mit einer Aktion zuerst() auf einem Datenrahmen zu bekommen?
In spark 2.0 ist es in Ordnung, groupby key zu verwenden, hat es das gleiche Leistungsproblem wie groupbykey auf rdd wie es die gesamten Daten über das Netzwerk mischen und Aggregation durchführen oder die Aggregation lokal wie reduebykey durchgeführt wird in früheren Version des Funkens
Dank
danke für die Erklärung – baiduXiu