2017-09-15 18 views
0

ステートフルな処理とタイマーをBeam Dataflowランナー(v2.1.0以降)で使用するためのガイドラインや制限はありますか?状態のサイズや更新頻度などの制限など候補のストリーミングパイプラインは、Bigtableを耐久性のあるストレージとして使用して、ユーザーセッション状態に対して広範に状態とタイマーを使用します。ここでステートとタイマーを使用した処理

答えて

1

は、あなたのユースケース

  • のためのいくつかの一般的なアドバイスは、タイマーを設定し、その後、複数の要素を集約してくださいです。
  • 要素ごとにタイマーを作成しないでください。過度になります。
  • 大量の状態を累積するのではなく、状態を試行して集約します。私。平均を計算しようとするときにすべての数値を格納するのではなく、合計とカウントとして集計します。
  • このユースケースの場合はsession windowsと考えてください。
  • データフローでは、ウィンドウをマージするための状態はサポートされていません。それは梁のためです。
  • アクセスパターンに応じて状態を使用してください(例:BagState)。

ここには、状態「Stateful processing with Apache Beam」に関する情報が掲載された有益なブログ記事があります。

+0

ありがとうございます。 Apache BeamでウィンドウをマージするステートフルDoFnのサポートが不足しているため、グローバルウィンドウの使用とタイマーを使用した状態のクリアを検討しています。データフローのグローバルウィンドウに「空の」状態セルを保持するオーバーヘッドはどれくらい重要ですか? – Thomas

関連する問題