DatabricksでのETLアプローチの選択
Databricksは、抽出、変換、ロード(ETL)パイプラインを構築する複数の方法をサポートしています。Databricksは、ほとんどのETLワークロードに対して、Apache Spark™ Declarative Pipelines(SDP)を基盤とするLakeFlow Pipelinesを推奨しています。すでにdbtまたはSparkを使用している場合、それらの方法はDatabricksでも利用できます。
利用可能なアプローチ
各アプローチは、変換の定義方法と、依存関係、増分処理、およびオーケストレーションを管理する対象によって異なります。これらのアプローチの背後にある宣言型モデルと手続き型モデルの背景については、「Databricks での手続き型対宣言型データ処理」を参照してください。
アプローチ | 機能 | 使用するタイミング | 重要な構成要素 | 始めましょう |
|---|---|---|---|---|
LakeFlow Pipelines (SDP) | テーブルと変換を宣言すると、パイプラインエンジンは依存関係、インクリメンタル処理、およびオーケストレーションを管理します。 | 新しいバッチおよび増分 ETL ワークロード。 | ストリーミングテーブル、マテリアライズドビュー、フロー、 | |
Databricksでのdbt | Databricksコンピュート上の既存のdbtモデルを実行します。 | チームは既にdbtプロジェクトを管理しています。 | dbtモデル、Lakeflow Jobsのdbtタスク | |
Spark ノートブックとジョブ | ノートブックやスクリプトで作成し、Lakeflow JobsでオーケストレーションするSparkコードを実行します。 | Sparkで直接表現したい複雑な変換ロジック。 | Spark DataFrames、ノートブック、Lakeflow Jobs | |
ストアドプロシージャ | SQLウェアハウスで実行される手続き型SQLロジックをカプセル化します。 | パッケージ化して再利用するプロシージャル SQL。 |
|