次の方法で共有


Databricks Git フォルダー (リポジトリ) を使用した CI/CD

Databricks Git フォルダーは、CI/CD フローで使用できます。 ワークスペースで Databricks Git フォルダーを構成することで、Git リポジトリでの作業にソース管理を使用し、それらをデータ エンジニアリング ワークフローに統合できます。 Azure Databricks での CI/CD のより包括的な概要については、 Azure Databricks の CI/CD に関するページを参照してください。

使用フロー

Git フォルダーの自動化を開発する作業のほとんどは、フォルダーの初期構成と、Azure Databricks ジョブから Git 操作を自動化するために使用する Azure Databricks Repos REST API を理解することです。 自動化の構築とフォルダーの設定を開始する前に、自動化フローに組み込むリモート Git リポジトリを確認し、開発、統合、ステージング、運用など、自動化のさまざまなステージに適したリポジトリを選択します。

  • 管理フロー: 運用フローの場合、Azure Databricks ワークスペース管理者は、運用 Git フォルダーをホストするようにワークスペース内の最上位フォルダーを設定します。 管理者は、作成時に Git リポジトリとブランチを複製し、開発フローのリモート Git リポジトリの目的に対応する "Production"、"Test"、"Staging" などのわかりやすい名前をこれらのフォルダーに付け加えることができます。 詳細については、「 Production Git フォルダー」を参照してください。
  • ユーザー フロー: ユーザーは、リモート Git リポジトリに基づいて、 /Workspace/Users/<email>/ の下に Git フォルダーを作成できます。 ユーザーは、作業の内容をコミットし、リモート リポジトリにプッシュするために、ローカルのユーザー固有のブランチを作成します。 ユーザー固有の Git フォルダーでの共同作業の詳細については、「Git フォルダー を使用した共同作業」を参照してください。
  • マージ フロー: ユーザーは、Git フォルダーからプッシュした後にプル要求 (PR) を作成できます。 PR がマージされると、Automation は Azure Databricks Repos API を使用して、運用環境の Git フォルダーに変更をプルできます。

Git フォルダーを使用した共同作業

Git フォルダーを使用して他のユーザーと簡単に共同作業を行い、更新プログラムをプルし、Azure Databricks UI から直接変更をプッシュすることができます。 たとえば、機能ブランチまたは開発ブランチを使用して、複数のブランチ間で行われた変更を集計します。

次のフローでは、機能ブランチを使用して共同作業を行う方法について説明します。

  1. 既存の Git リポジトリを自分の Databricks ワークスペースにクローンします
  2. Git フォルダー UI を使って、メイン ブランチから機能ブランチを作成します。 作業を行うために、複数の機能ブランチを作成して使用できます。
  3. リポジトリ内の Azure Databricks ノートブックとその他のファイルに変更を加えます。
  4. 変更をコミットしてリモート Git リポジトリにプッシュします
  5. 共同作成者は、Git リポジトリを自分のユーザー フォルダーにクローンできるようになります。
    1. 仕事仲間は、新しいブランチで作業し、Git フォルダー内のノートブックや他のファイルを変更します。
    2. 共同作成者は 、変更をコミットしてリモート Git リポジトリにプッシュします。
  6. 自分または他の共同作成者がコードをマージする準備ができたら、Git プロバイダー Web サイトで PR を作成します。 変更をデプロイ ブランチにマージする前に、チームでコードを確認します。

Databricks では、各開発者が独自のブランチで作業することをお勧めします。 マージの競合を解決する方法について詳しくは、「マージの競合を解決する」をご覧ください。

CI/CD アプローチを選択する

Databricks では、 Databricks アセット バンドル を使用して CI/CD ワークフローをパッケージ化してデプロイすることをお勧めします。 ソース管理コードのみをワークスペースにデプロイする場合は、運用 Git フォルダーを設定できます。 Azure Databricks での CI/CD のより包括的な概要については、 Azure Databricks の CI/CD に関するページを参照してください。

ヒント

バンドルを使用してソース ファイル内のジョブやパイプラインなどのリソースを定義し、ワークスペースの Git フォルダーでバンドルを作成、デプロイ、管理します。 ワークスペースのバンドルでの共同作業を参照してください。

運用 Git フォルダー

運用 Git フォルダーは、 /Workspace/Users/のユーザー フォルダーにあるユーザー レベルの Git フォルダーとは異なる目的を果たします。 ユーザー レベルの Git フォルダーは、ユーザーがコード変更を開発してプッシュするローカル チェックアウトとして機能します。 これに対し、運用 Git フォルダーは、Databricks 管理者によってユーザー フォルダーの外部に作成され、運用デプロイ ブランチが含まれています。 運用 Git フォルダーには自動化されたワークフローのソースが含まれており、プル要求 (PR) がデプロイ ブランチにマージされている場合にのみプログラムで更新する必要があります。 運用 Git フォルダーの場合は、ユーザー アクセスを実行専用に制限し、管理者と Azure Databricks サービス プリンシパルのみが編集できるようにします。

リモート リポジトリのメイン ブランチにマップされた Git 運用フォルダー。

Git 運用フォルダーを作成するには:

  1. デプロイ用の Git リポジトリとブランチを選択します。

  2. サービス プリンシパルを取得し、この Git リポジトリにアクセスするためのサービス プリンシパルの Git 資格情報を構成します。

  3. Git リポジトリ用の Azure Databricks Git フォルダーを作成し、プロジェクト、チーム、開発ステージ専用のサブフォルダー Workspace 下にブランチします。

  4. ワークスペース ツリーの下にあるフォルダーを右クリックして、フォルダーまたは共有 (アクセス許可) を選択した後、[共有] を選択します。 次のアクセス許可を使用して Git フォルダーを構成します。

    • すべてのプロジェクト ユーザーに対して 実行できる 設定
    • 任意の Azure Databricks のサービスプリンシパルアカウントに対して、自動化を実行するために [実行可能] を設定します。
    • プロジェクトに適している場合は、ワークスペース内のすべてのユーザーに対して [表示可能] を設定して、検出と共有を促進します。

    [Git フォルダーの共有] モーダル ダイアログ ウィンドウ。

  5. [] を選択し、[] を追加します。

  6. Databricks Git フォルダーの自動更新を設定します。 自動化を使用して、次のいずれかの操作を行うことで、運用 Git フォルダーをリモート ブランチと同期させることができます。

    • GitHub Actions などの外部 CI/CD ツールを使用して、プル要求がデプロイ ブランチにマージされたときに、最新のコミットを運用環境の Git フォルダーにプルします。 Github Actions の例については、「 運用 Git フォルダーを更新する CI/CD ワークフローを実行する」を参照してください。
    • 外部 CI/CD ツールにアクセスできない場合は、リモート ブランチを使用してワークスペース内の Git フォルダーを更新するスケジュールされたジョブを作成します。 次のコードを使用して、簡単なノートブックを定期的に実行するようにスケジュールします。
    from databricks.sdk import WorkspaceClient
    w = WorkspaceClient()
    w.repos.update(w.workspace.get_status(path=”<git-folder-workspace-full-path>”).object_id, branch=”<branch-name>”)
    

Azure Databricks Repos API を使用した自動化の詳細については、 Repos の Databricks REST API ドキュメントを参照してください。