データ統合Pipeline Builderパイプラインの出力重大な変更

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

重大な変更

重大な変更は、Streaming または Incremental パイプラインの状態を持つ関数が変更された場合に発生します。変換は、行レベルまたは状態を持つもののいずれかです。

  • 行レベルの変換: 結果を出すために単一行のデータだけが必要です。たとえば、数値の掛け算フィルター処理する などがあります。
  • 状態を持つ関数: 結果を出すために複数行のデータが必要な変換です。

主に4つの状態を持つ関数があります:

  • 集約(Streaming の Window 上の集約)
  • 外部キャッシュジョイン(Streaming のみ)
  • ハートビート検出(Streaming のみ)
  • 時間制限付き重複ドロップ(Streaming のみ)
  • 時間制限付きイベント時間ソート(Streaming のみ)

状態を持つ関数が変更されると、以前の出力はもはや正確ではない可能性があります。たとえば、偶数をフィルター処理してその集合の合計を取るとします。フィルターをすべて奇数に変更すると、既存の状態は偶数の合計になりますが、新しくフィルター処理された値はすべて奇数になります。したがって、合計が何を表しているのかは現在、不明確で、偶数の集合の合計と奇数の集合の合計が合計されています。状態を再読み込みするためには、リプレイを実行できます。

2つのタイプのリプレイがあります:

  • 入力データの開始からのリプレイ: データの開始から、または入力がストリームまたはインクリメンタルなデータセットかによって決まる入力データセットの最初のトランザクションから、パイプラインをリプレイします。

入力データの開始からリプレイするリプレイ戦略を持つデプロイパネルの画像

  • 特定の時間前からのリプレイ(Streaming のみ利用可能): 特定の時間前から開始する上流データを使用してパイプラインをリプレイします。細かいリプレイは、指定した時間前にコミットされた最初のトランザクションからすべてのデータを含み、それ以前のすべてのデータは処理されません。これは、指定した時間より前の1つのトランザクション分のデータを得る可能性があることを意味します。

特定の時間前からリプレイするリプレイ戦略を持つデプロイパネルの画像

リプレイはオプションであるか、または必須であるかのいずれかです。重大な変更の場合、Pipeline Builder は自動的にこの変更を検出し、デプロイ時にリプレイを要求します。以下の画像は、Incremental パイプラインで強制的にリプレイが行われている様子を示しています。

重大な変更による強制的なリプレイを持つデプロイパネルの画像