私はデータストリーミングのためにapache flinkで作業しています。どんな助けでも大歓迎です。ありがとう。Flinkのウィンドウと状態の維持
1)タンブリングウィンドウの作成に制限はありますか?たとえば、ユーザーIDごとに2秒間の回転ウィンドウを作成して、1,000万人を超えるユーザーIDが問題になるとしましょう。 (私はkeyByユーザーIDを使用して、2秒間timeWindowを作成しています)?これらのウィンドウは内部的にどのようにフリンクしていますか?
2)私は、ラウンドロビンパーティショニングのために再バランスを検討しました。クラスタを設定していて、ソースの並列度が1で、リバランスをとった場合、データをマシン間でシャッフルしてパフォーマンスを向上させますか?ある場合は、クラスタ内の他のノードにデータを転送するための特定のポートがありますか?
3)状態の保守に制限はありますか?私は非常に大きくなる可能性のあるユーザーID関連のデータを維持する予定です。私は状態を維持するためにロックdbを使用してフリンクについて読む。どれくらいのデータを維持できるかに制限があるかどうかを確認したいのですが?
4)データの量が少ない場合、状態はどこに維持されますか? (私はJVMのメモリで推測する)私のクラスタ上にいくつかのマシンがある場合、すべてのノードが現在の状態のバージョンを取得できますか?
お返事ありがとうございます。私はいくつかのフォローアップの質問があります。 – Neoster
オペレータの状態がグローバルでない場合、サブタスクにローカルな以前の計算状態を維持したい場合は、同じユーザIDに対して次のデータが確実に入るようにする方法がありますか?そうでなければ、これを達成するために集中キャッシュを使用すべきかどうかを、私はフリンクで状態を維持するのではなく思いますか? – Neoster
また、私は外部の設定変更を送信する方法を見つけようとしています。例えば、各計算に対して、考慮すべきパラメータはほとんどない。新しいパラメータが追加され、新しい計算のために考慮する必要があるとしたら、この変更をフリンクに送り、集中設定状態にする方法がありますか? – Neoster