sdp-meta によるパイプラインの作成
Databricks Labssdp-meta の プロジェクトは、管理するメタデータからパイプラインを生成するツールを提供します。
オープンソースの sdp-meta プロジェクトは、databrickslabs GitHub アカウント内のすべてのプロジェクトと同様に、調査目的でのみ存在します。Databricks は、それに対するサポートやサービスレベルアグリーメント(SLA)を提供していません。このプロジェクトに関連する問題について、Databricks サポートチケットを送信しないでください。代わりに、GitHub issue を作成してください。これらは状況に応じて確認されます。
sdp-meta とは何ですか?
LakeFlow Pipelines を使用すると、テーブルを宣言的に指定し、テーブルを作成してソースデータの変更に応じて最新の状態に保つフローをパイプラインに生成できます。ただし、組織に数百のテーブルがある場合、これらのパイプラインの生成と管理には時間がかかり、一貫性のないプラクティスにつながる可能性があります。
sdp-meta プロジェクトは、LakeFlow Pipelines と連携するように設計されたメタデータ駆動型のメタプログラミング フレームワークです。このフレームワークは、一連の JSON ファイルと YAML ファイルに記録されたメタデータを活用することで、ブロンズおよびシルバーのデータパイプラインの自動化を可能にします。ランタイム時に、汎用パイプラインがメタデータを読み取り、そこに記述されているフローを動的に構築します。ブロンズおよびシルバーの処理は、個別のパイプラインで実行することも、結合されたパイプラインでまとめて実行することもできます。パイプラインに関するメタデータを生成すると、sdp-meta がパイプラインを生成します。
ロジックを1か所(メタデータ)に集約することで、システムの高速化、再利用性の向上、保守の簡素化が実現します。
sdp-metaプロジェクトは以前、Databricksの古い Delta Live Tables 機能にちなんでdlt-metaという名称でした。 Delta Live Tables はLakeflow pipelinesに置き換えられ、sdp-metaはLakeflow pipelinesで動作します。既存のdlt-metaインストールをアップグレードする場合は、sdp-metaドキュメントの移行ガイドを参照してください。
sdp-metaの利点
sdp-meta には主に2つのユースケースがあります。
- 多数のテーブルを簡単に取り込んでクリーンアップします。
- 複数のパイプラインとユーザー全体でデータエンジニアリングの標準を適用します。
メタデータ駆動型アプローチを使用する利点は次のとおりです:
- メタデータの管理は、PythonやSQLコードの知識がなくても行えます。
- コードではなくメタデータを管理することで、オーバーヘッドが削減され、エラーが減少します。
- コードはsdp-metaによって生成されるため、一貫性が保たれ、パイプラインや公開テーブル全体でカスタムコードが少なくなります。
- メタデータ内でテーブルをパイプラインに簡単にグループ化し、データを最も効率的に更新するために必要な数のパイプラインを生成できます。
sdp-meta の仕組み
次の画像は、sdp-meta システムの概要を示しています。
- ソースファイルと出力、品質ルール、必要な処理を指定するために、sdp-metaへの入力としてメタデータファイルを作成します。これらのオンボーディングファイルは、JSONまたはYAMLで記述できます。
- sdp-meta オンボードジョブを実行します。エンジンはオンボードファイルを DataflowSpec と呼ばれるデータフロー仕様にコンパイルし、後で使用するために Delta テーブル(
bronze_dataflowspecおよびsilver_dataflowspec)に格納します。 - ランタイム時に、汎用パイプラインが DataflowSpec を読み取り、ブロンズ処理グラフを動的に構築します。ソースデータ(ファイル、ストリーム、または CDC)を読み取り、品質ルールに一致する適切なデータ期待値を適用してブロンズテーブルを生成し、ルールに違反したレコードを隔離します。
- シルバー処理は、宣言型オートメーションバンドルのdefaultである別の汎用パイプラインで実行することも、結合モードを使用して同じパイプライン内で実行することもできます。パイプラインは DataflowSpec を使用して適切な変換やその他の処理を適用し、クリーニング、エンリッチメントが行われ、アナリティクスに対応したシルバーテーブルを生成します。
ソースデータが更新されたときに最新の出力を維持するために、sdp-meta によって生成されたパイプラインを実行します。
使い始める
sdp-meta を使用するには、次の操作が必要です。
- sdp-meta ソリューションをデプロイおよび構成します。
- ブロンズレイヤーおよびシルバーレイヤーのテーブルのメタデータを準備します。
- メタデータをオンボードするためのジョブを作成します。
- メタデータを使用して、テーブルのパイプラインを作成します。
sdp-metaプロジェクトは、いくつかのデプロイメントインターフェースをサポートしています:バンドル(推奨)、インタラクティブCLI、ブラウザベースのGUIを備えたDatabricksアプリ、AI支援セットアップ用のMCPサーバー、およびスキル対応AIエージェント用のポータブルなエージェントスキルです。
GitHub上のsdp-metaドキュメントには、このプロセスの開始に役立つチュートリアルが用意されています。詳細については、GitHubのsdp-metaの開始方法を参照してください。