私は依然として原子性と鍵の配布を完全には理解していませんでした。Flinkの状態のバックエンドのキーatomicyとdistribution
つまり、マップ状態を含むkeyby-> flatmapのグラフを考えてください。並列性は4タスクスロットで1に設定されていますが、分散環境で各キーが(1つのタスクスロット内に) 、それは原子単位ですか? すべてのヘルパーに事前に感謝します。
Keyed Stateは、キーごとに1つの状態区画で区切られた、またはシャードされたオペレータ状態と考えることができます。各キー状態は論理的には
<parallel-operator-instance, key>
という一意のコンポジットにバインドされており、各キーはキー付き演算子の1つのパラレルインスタンスに正確に属しているため、これは単に<operator, key>
と考えることができます。Keyed Stateは、さらに、いわゆるKey Groupsに編成されています。キーグループは、FlinkがKeyed Stateを再配布できるアトミックユニットです。定義されている最大並列度とまったく同じ数のキーグループが存在します。実行中、キー付き演算子の各パラレルインスタンスは、1つ以上のキーグループ用のキーで動作します。
恐ろしく、これでクリアされます。とても有難い。 – Eliran