2017-11-02 4 views
0

私はsum関数に存在する要素の数を取得したいと思います。 例:Flinkでsum関数に存在する要素の数を取得する方法は?

val counts = text.flatMap { _.toLowerCase.split("\\W+") } 
     .map { (_, 1) } 
     .keyBy(0) 
     .timeWindow(Time.minutes(10)) 
     .sum(1) 

出力:出力として欲しい

hello : 4 
world : 2 
foo : 8 
my : 5 

要素の数に対応する数4countのようなものが見つかりません

答えて

0

組み込みの集約関数はあまり柔軟ではありません。 sum,min,max,minByおよびmaxByのみが存在する。これらはタプル型でのみ機能し、組み合わせることはできません。

単純な集約を超えて何かを実行する場合は、カスタムReduceFunctionまたはAggregateFunctionを実装する必要があります。 もう1つの選択肢は、グループウィンドウをサポートしているテーブルAPIまたはSQLを参照することです。

関連する問題