2017-11-29 6 views
0

kafkaストリームでホッピングウィンドウコードを書いています。minMaxCalculator()は、ストリーム内の最小値と最大値を一度キーでグループ化しています。設定ウィンドウ[ホッピング、タンブリングなど]カフカストリームの並列性

KTable<Windowed<String>, aggrTest> WinMinMax = Records.groupByKey().aggregate(new aggrTestInitilizer(), 
     new minMaxCalculator() 
     , TimeWindows.of(TimeUnit.SECONDS.toMillis(5)).advanceBy(TimeUnit.SECONDS.toMillis(1)),aggrMessageSerde,"aggr-test"); 

は、キーによるIグループたら、私は1つカフカパーティションがある場合でも並列内のすべてのキーのために生成されたウィンドウを処理したいです。どうすればこのことができますか? は、この並列性をウィンドウに対応して設定できますか?

答えて

1

並列性は入力パーティションに基づいており、異なることはできません。したがって、設定できるパラメータはありません。

ただし、パーティションの所望の数にトピックを作成し、through()を使用して手動で再パーティション化のためにそれを使用することができます。

stream.through("multi-partition-topic").groupByKey()... 

は、より多くの詳細については、ドキュメントをチェックアウト:

+1

小さな明確化:入力パーティションの数によって*最大*並列処理レベルが決まります。もちろん、この最大数よりも少ないアプリケーション・インスタンス(またはスレッド)を実行することができます。 –

関連する問題