Gibt es einen Weg in Flink (Batch/Streaming), um den Durchschnitt und die Summe eines Feldes gleichzeitig zu berechnen? Mit der aggregierten Methode kann ich die Summe eines Feldes auf einem groupBy-Ergebnis berechnen, aber wie berechne ich den Durchschnitt auch gleichzeitig? Beispielcode unten.Flink - wie berechnet man Summe und Durchschnitt zur gleichen Zeit?
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<Tuple3<String,Integer,Double>> source =
env.readCsvFile(PathConfig.LINEITEM_1)
.fieldDelimiter("|")
types(String.class, Integer.class, Double.class);
source.groupBy(0,1).aggregate(Aggregations.SUM, 2);
//average of field 2???
Könnten Sie map/reduce anstelle von aggregate verwenden? – ImbaBalboa
Ich könnte reduceGroup verwenden, um sowohl die Summe als auch den Durchschnitt manuell zu berechnen, aber da es bereits eine nette Summensummenfunktion gibt, dachte ich, dass es vielleicht auch eine Möglichkeit gibt, den Durchschnitt automatisch zu berechnen. – Eli