Flink(バッチ/ストリーミング)でフィールドの平均と合計を同時に計算する方法はありますか?集計メソッドを使用すると、groupBy結果のフィールドの合計を計算できますが、同時に平均を計算するにはどうすればよいですか?以下のコード例。シンプルなCSVの解析などのタスク、グループ化、および私はFLINKのTable APIを使用することをお勧めします集約するためのFlink - 合計と平均を同時に計算する方法は?
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???
集計の代わりにmap/reduceを使用できますか? – ImbaBalboa
reduceGroupを使用して合計と平均を手動で計算することはできましたが、既にすばらしい集計関数があるので、平均を自動的に計算する方法もあると思います。 – Eli