Databricks上のCI / CDとは何ですか?

この記事は、Databricks での CI/CD の概要です。 継続的インテグレーションと継続的デリバリー (CI/CD) は、自動化パイプラインを使用して、短期間で頻繁なサイクルでソフトウェアを開発および配信するプロセスを指します。 CI/CDはソフトウェア開発では一般的ですが、データエンジニアリングやデータサイエンスでもその必要性がますます高まっています。 コードの構築、テスト、デプロイメントを自動化することで、開発チームは、データエンジニアリング チームやデータサイエンス チームに依然として一般的な手動プロセスよりも確実にリリースを提供できます。

プラットフォーム用の複雑なデータ分析および プロジェクトの開発とデプロイを可能にする 用のDatabricks Databricksアセット バンドル CI/CDMLDatabricksの使用を推奨します。バンドルを使用すると、多くのカスタム構成を簡単に管理し、ビルド、テスト、プロジェクトのDatabricks開発、ステージング、本番運用ワークスペースへのデプロイを自動化できます。

Databricks での機械学習プロジェクトの CI/CD の概要については、「 Databricks が機械学習の CI/CD をサポートする方法」を参照してください。

DatabricksのCI / CDパイプラインには何がありますか?

Databricks アセット バンドルを使用して、Databricks CI/CD 実装を定義し、プログラムで管理できます。これには通常、次のものが含まれます。

  • ノートブック: Databricks ノートブックは、多くの場合、 データエンジニアリング およびデータサイエンス ワークフローの重要な部分です。 ノートブックのバージョン管理を使用し、CI/CD パイプラインの一部として検証およびテストすることもできます。 ノートブックに対して自動テストを実行して、期待どおりに機能しているかどうかを確認できます。

  • ライブラリ: デプロイされたコードを実行するために必要なライブラリの依存関係を管理します。 ライブラリのバージョン管理を使用し、自動テストと検証にライブラリを含めます。

  • ワークフロー:Databricks Workflows 、ノートブックまたはSparkを使用して自動タスクをスケジュールおよび実行できるようにするジョブで構成されています。

  • データパイプライン : データパイプラインを宣言するためのCI/CD Delta Live Tablesのフレームワークである を使用して、Databricks オートメーションにデータパイプラインを組み込むこともできます。

  • インフラストラクチャ: インフラストラクチャ構成には、ターゲット環境のクラスター、ワークスペース、ストレージの定義とプロビジョニング情報が含まれます。 インフラストラクチャの変更は CI/CD パイプラインの一部として検証およびテストでき、変更に一貫性がありエラーがないことを確認できます。

ステップ for CI/CD on Databricks

Databricks CI/CDパイプラインの一般的なフローには、次のステップが含まれます。

  1. 保存: Databricks コードとノートブックを Git などのバージョン管理システムに保存します。 これにより、時間の経過に伴う変更を追跡し、他のチーム メンバーと共同作業を行うことができます。 CI/CDGitとDatabricksGit フォルダー (Repos ) Gitを使用した テクニック と バンドルの 設定を 参照してください。

  2. コード: ワークスペース内の Databricks ノートブックで、または外部 IDE を使用してローカルでコードと単体テストを開発します。 Databricks は、Databricks ワークスペースへの変更の開発とデプロイを容易にするVisual Studio Code 拡張機能を提供します。

  3. Build : Databricks Asset Bundles 設定を使用して、デプロイ中に特定のアーティファクトを自動的に構築します。 「成果物」を参照してください。

  4. デプロイ: Databricks アセット バンドルを Azure DevOps、Jenkins、GitHub Actions などのツールと組み合わせて使用し、変更を Databricks ワークスペースにデプロイします。 「Databricks Asset Bundle デプロイメント モード」を参照してください。

  5. テスト: pytest などのツールを使用して、コードの変更を検証する自動テストを開発および実行します。

  6. 実行: Databricks CLI Databricksアセット バンドルと組み合わせて使用し、 Databricksワークスペースでの実行を自動化します。 「バンドルを実行する」を参照してください。

  7. 監視: Azure Monitor や Datadog などのツールを使用して、Databricks 内のコードとワークフローのパフォーマンスを監視します。 これは、本番運用環境で発生する問題を特定して解決するのに役立ちます。

  8. 反復: データエンジニアリングまたはデータサイエンス プロジェクトを改善および更新するために、小規模で頻繁な反復を行います。 小さな変更は、大きな変更よりも簡単にロールバックできます。