注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
インクリメンタルパイプラインは、時間の経過とともに大きく変化する入力データセットの処理によく使われます。変更されていないデータのすべての行やファイルに対する不要な計算を避けることで、インクリメンタルパイプラインはコンピューティングコストを最小限に抑えながら、エンドツーエンドの低遅延を実現します。
ただし、インクリメンタルパイプラインでは開発と保守がより複雑になるため、はじめる前にこの点を理解しておく必要があります。
インクリメンタルパイプラインに関して、考慮すべき点を以下に示します。
APPEND トランザクションとして到着する変更データのみを処理しますが、入力データセットがときどき再計算され、それによって SNAPSHOT トランザクションが発生する場合にも、ロジックが対応できる必要があります。理想的には、変換ロジックを記述する際に十分なユニットテストを用意し、実際にこの状況が発生する前に動作を検証することが望まれます。APPEND トランザクションが適用され、データセットが大量の小さなファイルで構成されるようになるにつれて、データセットがどのように変化するかを理解する必要があります。これには、Spark が大量のファイルをどのように扱うか、また、それが Spark のパーティション分割にどのような影響を与えるかを理解することも含まれます。インクリメンタルパイプラインの高いパフォーマンスを維持する方法について詳しくは、こちらをご覧ください。インクリメンタルパイプラインをはじめるには、以下の推奨リソースを確認します。