処理データのパターンは、いくつかの情報Aで充実したレコードストリームを持つことです。レコードはいくつかのIDによって断片化されます。この情報Aは、現在のレコード、前の計算の結果、および大きなルックアップテーブルに依存します。ルックアップテーブルは頻繁に変更されず、変更は軽微です。私は、ステートフルな計算を行うためにmapWithState/flatMapWithStateを使用できることを知っています。しかし、私はルックアップテーブルをどのように扱うべきですか?慣用的なやり方は、状態(Aのような)として扱うことですが、ルックアップテーブルのサイズはおそらくパフォーマンス/メモリにとって恐ろしいです(例えばスナップショット時)Apache Flinkでめったに更新されない大きなルックアップテーブルを処理する方法
私は現在共有リソースを保護することを考えていますリーダ/ライタロックによって。このようなパターンを扱う良い方法はありますか?
私は必要なもののようです。この側の入力はマシンインスタンスごとに1回だけコピーされますか(マシンに80個のタスクスロットがあり、そのデータを80回コピーしないとします)?したがって、現在、例えば、演算子内で大量のHashMapが複数回コピーされることなく(ストリーミングAPI内) – gvd
はい、これを考慮する必要があります。 – aljoscha