Lakeflow パイプラインは、Apache Spark™ 宣言パイプライン (SDP) 上に構築されています。 Lakeflow パイプラインは、パフォーマンス最適化 Databricks ランタイムで実行され、SDP と相互運用できます。 パイプラインは独自の API ではなく SDP 上に構築されるため、作成する変換コードは他の SDP ランタイムに移植可能なままです。
Spark 宣言パイプラインとは
Apache Spark 宣言型パイプラインは、SQL および Python でバッチ およびストリーミング データ パイプラインを開発および実行するための宣言型フレームワークです。 SDP はオーケストレーションを自動化し、パイプライン内のフロー間の依存関係を整理します。 SDP を使用すると、インジェストと変換の開発が簡素化されるため、データ ワークフローのオーケストレーションの仕組みに集中する必要はありません。
SDP の一般的なユース ケースは次のとおりです。
- クラウド ストレージ (Amazon S3、Azure ADLS Gen2、Google Cloud Storage) などのソースからのバッチ データ インジェスト。
- メッセージ バスからの増分データ インジェスト (Apache Kafka、Amazon Kinesis、Google Pub/Sub、Azure EventHub、Apache Pulsar など)。
- ステートレス演算子とステートフル演算子を使用した増分バッチ変換とストリーミング変換。
宣言型データ処理の詳細については、「 Databricks での手続き型データ処理と宣言型データ処理」を参照してください。
Lakeflow パイプラインで SDP を拡張する方法
Lakeflow パイプラインは、SDP と同じ宣言型作成モデルを共有し、AUTO CDC、データ品質の期待、クエリ可能なイベント ログなどの運用機能を追加します。 次の表は、Lakeflow パイプラインが SDP と共有する機能と、Databricks が上に追加する運用機能を比較したものです。 SDP プロジェクトの仕様とパイプライン構成の間のプロパティごとのマッピングについては、「 パイプラインプロパティリファレンス」を参照してください。
| Capability | Sdp | Lakeflow パイプライン |
|---|---|---|
| SQL および Python の宣言型パイプライン | ✓ | ✓ |
| ストリーミング テーブル | ✓ | ✓ |
| マテリアライズド・ビュー | ✓ | ✓ |
| 一時ビュー | ✓ | ✓ |
| フローの追加 | ✓ | ✓ |
| シンク (Delta、Apache Kafka、および Azure Event Hubs) | ✓ | ✓ |
| オーケストレーションと依存関係の自動解決 | ✓ | ✓ |
| SDP ランタイム間で移植可能なパイプライン コード | ✓ | ✓ |
| AUTO CDC(SCD タイプ 1 および SCD タイプ 2)とスナップショットからの AUTO CDC | — | ✓ |
| データ品質の期待 | — | ✓ |
| クエリ可能な イベント ログ | — | ✓ |
フローと foreachBatch シンクを更新する |
— | ✓ |
| 連続モード | — | ✓ |