1. 概要

  • 背景

Azure Databricks上でプロジェクトを開発する際、ノートブックのバージョン管理と効率的なコラボレーションは非常に重要です。ノートブックでチーム開発やコード変更履歴の追跡を行う際、以下のような課題がよく発生します。

  • 誰が・いつ・どのような変更を行ったのかを把握するのが困難である
  • 複数人が同時に直接に編集することで、コードの損失リスクが高まる。
  • 過去のノートブックバージョンを復元する作業が複雑である。
  • コードの開発やデプロイにおける明確な作業プロセスが存在しない。

バージョン管理システムが整っていないと、コラボレーションの効率が悪くなり、ミスが発生しやすく、長期的なプロジェクトの保守も困難になります。これらの課題をどのように解決し、Gitの利点を活かしてノートブックを専用的に管理するにはどうすればよいでしょうか。

  • 対策案

Azure DevOpsに統合された【Databricks Repos (Gitフォルダ)】 を利用することで、 Databricks内で直接Gitベースのバージョン管理を行います。これにより、ブランチの作成、コミット、プルリクエストといった、従来のソフトウェア開発と同様のワークフローが実現可能です。

  • 目的

この資料では、 Databricks Repos (Gitフォルダ) の使用方法およびAzure DevOpsとの連携によって、ノートブックを効率的に管理する手順を詳しく解説します。

2. 前提条件

実行するには、以下が必要となります。

  • Contributors以上の権限を持ち、既にプロジェクトまたはリポジトリが作成されているAzure DevOpsアカウント
  • Databricks Repos に対してCan Manageの権限を持つDatabricksアカウン

3. Databricks Reposのご紹介 (Gitフォルダ)

【Databricks Repos (Gitフォルダ)】は Azure Databricksワークスペースに直接統合されている機能です。 これにより、手動でのバージョン管理や外部の複雑なツールの代わりにフォルダやノートブックをGitリポジトリ(例: Azure DevOps上など)と同期させることができます。これは、バージョン管理が効率的に行え、チームでのコラボレーションが容易になり、ノートブックコード用の標準化されたワークフローの適用も可能となります。

DatabricksにおけるGitを使用してノートブックの効率的な管理方法を理解するために、以下の手順に沿って進めていきます。

  • Azure DevOpsとの接続手順: Azure DevOps上でDatabricks ReposとGitリポジトリの接続を設定します。
  • 基本的なGit操作の実施: Databricksからブランチの作成、内容変更のコミットおよびコードのプッシュなどを直接に実施する方法を説明します。
  • バージョン管理およびコラボレーション: Azure DevOps上でプルリクエストを使用して、変更のレビューおよびマージの実施、履歴の追跡、バージョンの復元を行います。

4. Databricks ReposとAzure DevOpsの接続手順

① ウェブブラウザを開き、Azure DevOps組織にアクセスします。
② Databricksと接続したいGitリポジトリが含まれているプロジェクトを選択します。

③ 左側のメニューから「Repos」をクリックします。
※注意:プロジェクト内に複数のリポジトリが存在する場合、ドロップダウンリストよりリポジトリを正確に選択したか必ず確認します。 (例:「Demo」など)

④ 右上の隅にある「Clone」ボタンをクリックします。

⑤ ポップアップウィンドウが表示されますので、リポジトリの HTTPS URL をコピーします。

⑥ Azure Databricksワークスペースにアクセスします。
⑦ 左側のサイドバーで「ワークスペース」をクリックします。

⑧ ワークスペースの「Users」、またはGitフォルダを作成する権限のあるほかのフォルダに移動します。

⑨ 右上の「作成」ボタンをクリックします。
⑩ それから、「Gitフォルダ」を選択すると、「Gitフォルダを作成」 のポップアップウィンドウが表示されます。

⑪ Azure DevOpsからコピーしたHTTPS URLを該当の入力欄に貼り付けます。
⑫「Gitプロバイダー」のドロップダウンメニューから「Azure DevOpsサービス」を選択します。
⑬「Gitフォルダ名」は自動的に入力されます (例:「Demo」)。名前を変更することも可能です。
⑭ 最後、「Gitフォルダを作成」ボタンをクリックします。

Databricksは、 Azure DevOpsのリポジトリをクローンし、ワークスペース内の新しいGitフォルダに保存します。
完了した後、選択したフォルダ内に新しいフォルダ(Gitフォルダ)が作成され、 Azure DevOpsのリポジトリから取得したノートブックやコードファイルが含まれているのが確認できます。

⑮ 右上の角にあるユーザー名をクリックし、「設定」項目を選択します。

⑯「設定」画面で、「リンク済みアカウント」タブを選択します。

⑰ 「Git認証情報を追加」を選択してGitの情報を追加します。

⑱ 「Gitプロバイダー」項目のドロップダウンリストから「Azure DevOps (MSFT Entra)」を選択します。

⑲ 「ニックネーム」項目で任意のニックネームを入力し、「保存」ボタンをクリックします。

正常に接続できた場合、「リンク済みアカウント」ページに画像のように接続情報とステータスが表示されます。

重要な注意点:

  • この方法を希望させるには、Azure DevOps組織がAzure Databricksワークスペースで使用している同じMicrosoft Entra IDテナントとリンクされている必要があります。
  • また、DatabricksユーザーはEntra IDアカウントを通じてAzure DevOpsのリポジトリにアクセスする権限を持っている必要があります。

5. ReposとAzure DevOpsにおける基本操作

Azure Active Directoryアカウントを使用して、Databricks ReposをAzure DevOpsのリポジトリと正常に接続した後は、 Databricksのインターフェース上で基本的なGit操作をシームレスに実行できるようになります。作業中、ノートブックやファイル名の横に表示されるステータス記号により、最新のコミットと比較した変更内容を確認できます。

  • M (Modified):変更されたファイルのことを表します。
  • A (Added): 新しく追加されたファイルのことを表します。
  • D (Deleted):削除されたファイルのことを表します。

5-1. Reposで新しいブランチを作成する手順

① Databricksワークスペース内で、 Azure DevOpsと接続したGitフォルダへ移動します

② 現在のブランチ名(例:「main」)のアイコンをクリックして、Gitメニューを開きます。

③「ブランチを作成」タブをクリックします。

④ 「ブランチを作成」ポップアップウィンドウで、新しいブランチ名(例:「feature」)を入力します。
⑤ ソースブランチ(通常は「main」)を選択します。
⑥ 「作成」ボタンをクリックして新しいブランチを作成します。

⑦ 左側のメニューから「ブランチ」項目に移動し、「feature」ブランチを正常に作成されたことを確認します。

5-2. ノートブックで変更をコミット&プッシュする手順

ノートブックやGitフォルダ内のファイルに対して変更(追加・編集・削除)などを行ってください。

① ブランチ名(例:「feature」)をクリックしてGitメニューを開きます。

② 「変更点」オプションを選択して、変更されたファイルを確認します。
③ コミットに含めたい対象ファイルの横にあるチェックボックスをクリックします。
④ 「コミットメッセージ」欄に変更内容を明確に説明するメッセージを入力します。
⑤ 「コミット&プッシュ」ボタンをクリックします。

Azure DevOpsへ変更内容のコミット&プッシュを正常に実施できました。

※注意:変更が正常にコミット&プッシュされたことを確認するために、 Azure DevOps のリポジトリにアクセスし、先ほどプッシュしたブランチを選択します。
それから、変更されたファイルやコミットメッセージが反映されているか確認してください。

5-3. Azure DevOpsでのプルリクエストの作成および管理

① ウエブブラウザを開いてAzure DevOpsプロジェクトにアクセスします。
② 左側のメニューから「Repos」項目を選択します。
③ 「Create a pull request」ボタンをクリックします。

④ マージしたい変更を含むブランチをソースブランチとして選択します。(例:「feature」).
⑤ 変更をマージしたいブランチをターゲットブランチとして選択します。 (例:「main」).
⑥ プルリクエストのタイトルおよび説明を入力します。
⑦ レビュアーを追加します。(※任意)
⑧ 「Create」ボタンをクリックしてプルリクエストを作成します。

⑨ プルリクエストを承認された後、「Complete」ボタンをクリックして変更を統合することができます。

5-4. Azure DevOpsからReposに変更をプルする手順

Gitリポジトリ(例:Azure DevOpsから)に変更があった場合、 DatabricksのGitフォルダにその変更を手動でプルする必要があります。
①「Pull」ボタンをクリックします。

② 「確認」ボタンをクリックします。

コードが正常にプルされました。

※注意:Azure DevOpsからの変更が適用されていることを確認するために、 Azure DevOps上で修正されたノートブックまたはファイルを開き、変更内容が反映されているかをご確認ください。

6.まとめ

今回の記事が少しでもDatabricksを知るきっかけや、業務のご参考になれば幸いです。

双日テックイノベーションでは、Azure Databricksの環境構築パッケージを用意しています。

Azure DatabricksやAzure活用、マイクロソフト製品の活用についてご相談事がありましたらぜひお問い合わせください!

・Azure Databricks連載シリーズはこちら

お問い合わせはこちら 


この記事を読んだ方へのオススメコンテンツはこちら


 

この記事を書いた人

Azure支援デスク 管理者
Azure支援デスク 管理者
双日テックイノベーション(旧:日商エレクトロニクス)特設サイト「Azure導入支援デスク」サイトマスターです。