ローカル開発環境でパイプラインコードを開発する
お好みの統合開発環境 (IDE) でPythonパイプラインのソースコードを作成し、テストのためにローカルで実行してから、ローカル環境を離れることなくDatabricksワークスペースで更新を検証、デプロイ、実行できます。
LakeFlow Pipelinesは、Apache Spark™宣言型パイプラインのスーパーセットです。Apache Spark宣言型パイプラインAPIsのみを使用するコードは、ローカルとDatabricksの両方で実行されますが、AUTO CDCや期待値など、LakeFlow Pipelines固有の機能を使用するコードはDatabricksでのみ実行されます。機能の違いについては、LakeFlow Pipelines Python 言語リファレンスを参照してください。
Databricks ワークスペースでの対話的な開発とテストには、Lakeflow Pipelinesエディターを使用します。「Lakeflow Pipelinesエディターを使用したETLパイプラインの開発とデバッグ」を参照してください。
IDE サポートを使用してパイプラインコードを作成
dpとしてインポートされるpyspark.pipelinesモジュールを使用してパイプラインコードを作成します。
from pyspark import pipelines as dp
このモジュールはApache Sparkの一部であるため、記述中にIDEで構文チェック、オートコンプリート、型チェックが行われます。Apache Spark宣言型パイプラインコードは通常、Databricks上で変更なしで実行されます。LakeFlow Pipelinesで同じインポートコマンドを実行すると、Databricksバージョンのpipelinesがインポートされます。For the full Lakeflow pipelines Python reference, see Lakeflow pipelines Python language reference.
テスト用にパイプラインをローカルで実行
また、Databricksで実行する前に、パイプラインをローカルで実行してコードを開発およびテストできます。spark-pipelinesコマンドラインインターフェースを使用して、ローカル Apache Spark でパイプラインを初期化、検証、実行します。Apache Sparkドキュメントの「Spark宣言型パイプラインプログラミングガイド」を参照してください。
LakeFlow Pipelines に固有の機能をローカルで実行またはテストすることはできません。これには期待値およびAUTO CDC関数が含まれます。
ローカル環境からDatabricksでパイプラインを実行
ワークスペースでパイプラインの更新を直接ターミナルから検証、デプロイ、実行するには、databricks pipelinesコマンド・グループを使用します。
databricks pipelines init # scaffold a pipeline project
databricks pipelines dry-run # validate the pipeline graph without publishing data
databricks pipelines deploy # deploy the project to your workspace
databricks pipelines run # run an update
パイプラインの更新は、パイプライン用に構成されたコンピュートを使用して、Databricksワークスペースで実行され、ローカルマシンでは実行されません。これらのコマンドはDeclarative Automation Bundlesのbundleコマンドと相互運用可能であるため、シンプルなプロジェクトから始めて、プロジェクトの成長に合わせてバンドル構成とCI/CDプラクティスを採用できます。CLI をインストールして構成するには、「Databricks CLI のインストールまたは更新」を参照してください。完全なコマンド・リファレンスについては、pipelinesコマンド・グループを参照してください。段階的なチュートリアルについては、「宣言型オートメーションバンドルを使用してパイプラインを開発する」を参照してください。
IDE からワークスペースにパイプライン コードを同期する
次の表は、ローカル IDE と Databricks ワークスペース間でパイプライン ソース コードを同期するためのオプションをまとめたものです。
ツールまたはパターン | 詳細 |
|---|---|
Databricks CLI ( |
|
宣言型自動化バンドル | 宣言的オートメーション バンドルを使用して、単一のソース コード ファイルから複数のパイプライン、ジョブ、およびソース コード ファイルの構成に至るまで、さまざまな複雑さのパイプライン アセットをデプロイします。 パイプラインをバンドルプロジェクトに変換するを参照してください。 |
DatabricksのVisual Studio Code拡張機能 | DatabricksはVisual Studio Codeとの統合機能を提供しており、ローカルIDEとワークスペースファイル間の簡単な同期が可能です。この拡張機能は、宣言型自動化バンドルを使用してパイプライン資産をデプロイするためのツールも提供します。Visual Studio Code 用の Databricks 拡張機能を参照してください。 |
ワークスペースファイル | Databricks ワークスペース ファイルを使用して、パイプラインのソース コードを Databricks ワークスペースにアップロードし、そのコードをパイプラインにインポートできます。「ワークスペース ファイルとは何ですか?」を参照してください。 |
Gitフォルダ | Git フォルダーを使用すると、Git リポジトリを仲介として使用して、ローカル環境と Databricks ワークスペース間でコードを同期できます。Databricks Git フォルダーを参照してください。 |