Databricks Git フォルダーでファイル資産を管理する

Databricks Git フォルダーは、Git ベースのソース リポジトリの Databricks で管理されるクローンの Git クライアントとして機能し、ワークスペースからそのコンテンツに対して Git 操作のサブセットを実行できるようにします。 この Git 統合の一環として、リモート リポジトリに格納されているファイルは、その種類に基づいて "資産" として表示されますが、その種類に固有の制限がいくつかあります。 特に、ノートブック ファイルには、その種類に基づいてさまざまなプロパティがあります。 この記事を読んで、Git フォルダーで資産 (特に IPYNB ノートブック) を操作する方法を理解してください。

サポートされている資産の種類

Git フォルダーでは、特定の Azure Databricks 資産の種類のみがサポートされています。 この場合、"サポートされている" とは、"シリアル化、バージョン管理、バッキング Git リポジトリへのプッシュが可能である" ことを意味します。

現在、サポートされているアセットの種類は次のとおりです。

資産の種類 詳細
ファイル ファイルはシリアル化されたデータで、ライブラリからバイナリ、コード、イメージまであらゆるものが含まれます。 詳細については、「ワークスペース ファイルとは」を参照してください
ノートブック ノートブックは、特に Databricks でサポートされているノートブック ファイル形式です。 ノートブックはシリアル化されないため、ファイルとは別の Azure Databricks アセットの種類と見なされます。 Git フォルダーでは、ファイル拡張子 (.ipynb など)、またはファイル コンテンツ内の特殊なマーカーと組み合わされたファイル拡張子 (たとえば、.py ソース ファイルの先頭にある # Databricks notebook source コメント) によってノートブックが決定されます。
フォルダー フォルダーは Azure Databricks 固有の構造で、Git でのファイルの論理的なグループ化に関するシリアル化された情報を表します。 予想どおり、Azure Databricks Git フォルダーを表示したり、Azure Databricks CLI でアクセスしたりする場合、ユーザーはこれを "フォルダー" として認識します。

Git フォルダーで現在サポートされていない Azure Databricks 資産の種類は次のとおりです。

  • DBSQL クエリ
  • 警告
  • ダッシュボード (レガシ ダッシュボードを含む)

Note

Git フォルダーにはサポートされていない既存の資産を移動できますが、その資産に対する変更はリポジトリにコミットできません。 サポートされていない新しい資産を Git フォルダーに作成することはできません。

ノートブックの形式

Databricks では、"source" と "ipynb" という 2 種類の高レベルの Databricks 固有のノートブック形式が考慮されます。 ユーザーが "source" 形式でノートブックをコミットすると、Databricks プラットフォームにより、.py.sql.scala.r などの言語サフィックスを持つフラット ファイルがコミットされます。 "source" 形式のノートブックにはソース コードのみが含まれており、ノートブックの実行結果である表の表示や視覚化などの出力は含まれません。

一方、"ipynb" 形式には関連付けられた出力があり、それらの成果物は、それらを生成した .ipynb ノートブックをプッシュするときに、Git フォルダーをバックアップする Git リポジトリに自動的にプッシュされます。 コードと共に出力をコミットする場合は、"ipynb" ノートブック形式を使い、生成された出力をユーザーがコミットできるように構成をセットアップします。 その結果、"ipynb" では、Git フォルダーを介してリモート Git リポジトリにプッシュされたノートブックに対する Databricks の表示エクスペリエンスも向上します。

ノートブックのソース形式 詳細
source .py.scala.r.sql など、コード言語を示す標準のファイル サフィックスを持つ任意のコード ファイルを指定できます。 "source" ノートブックはテキスト ファイルとして扱われ、Git リポジトリにコミットされたときに関連付けられた出力は含まれません。
ipynb "ipynb" ファイルは .ipynb で終わります。また、構成されている場合、Databricks Git フォルダーからバッキング Git リポジトリに出力 (視覚化など) をプッシュできます。 .ipnynb ノートブックには、(.ipynbpy 部分に関係なく) Databricks ノートブックでサポートされている任意の言語のコードを含めることができます。

ノートブックの実行後に出力をリポジトリにプッシュ バックする場合は、.ipynb (Jupyter) ノートブックを使います。 ノートブックを実行して Git で管理するだけの場合は、.py のような "source" 形式を使います。

サポートされているノートブック形式の詳細については、「Databricks ノートブックのエクスポートとインポート」を参照してください。

Note

"出力" とは

出力は、Databricks プラットフォームでノートブックを実行した結果であり、テーブルの表示や視覚化が含まれます。

ファイル拡張子以外で、ノートブックが使っている形式を見分ける方法はありますか?

Databricks によって管理されるノートブックの先頭には、通常、形式を示す 1 行のコメントがあります。 たとえば、.py の "source" ノートブックの場合、次のような行が表示されます。

# Databricks notebook source

.ipynb ファイルの場合、ファイル サフィックスは、それが "ipynb" ノートブック形式であることを示すために使われます。

Databricks Git フォルダーの IPYNB ノートブック

Git フォルダーでは Jupyter Notebook (.ipynb ファイル) がサポートされます。 .ipynb ノートブックを使ってリポジトリをクローンし、Databricks 製品で操作してから、それらを .ipynb ノートブックとしてコミットしてプッシュできます。 ノートブック ダッシュボードなどのメタデータは保持されます。 管理者は、出力をコミットできるかどうかを制御できます。

.ipynb ノートブック出力のコミットを許可する

既定では、Git フォルダーの管理者設定では、.ipynb ノートブック出力のコミットは許可されていません。 ワークスペース管理者はこの設定を次のように変更できます。

  1. [管理設定] > [ワークスペース] の設定に移動します。

  2. [Git フォルダー] > [Git フォルダーでの IPYNB 出力のエクスポートを許可する] で、[許可: IPYNB 出力をオンに切り替えられる] を選択します。

    管理コンソール: Git フォルダーでの IPYNB 出力のエクスポートを許可する。

重要

出力を含めると、視覚化とダッシュボードの構成は .ipynb ファイル形式で保持されます。

IPYNB ノートブック出力成果物のコミットを制御する

.ipynb ファイルをコミットすると、Databricks により、出力のコミット方法を制御できる構成ファイルが作成されます (.databricks/commit_outputs)。

  1. .ipynb ノートブック ファイルはあっても、リポジトリに構成ファイルがない場合、Git Status モーダルを開きます。

  2. 通知ダイアログで、[commit_outputs ファイルの作成] をクリックします。

    ノートブック コミット UI: commit_outputs ファイル ボタンを作成します。

[ファイル] メニューから構成ファイルを生成することもできます。 [ファイル] メニューには、構成ファイルを自動的に更新して、特定のノートブックの出力を含めるか除外するかを指定できるコントロールがあります。

  1. [ファイル] メニューで [ノートブック出力のコミット] を選びます。

    ノートブック エディター: ノートブック出力の状態とコントロールをコミットします。

  2. ダイアログ ボックスで、選択を確定し、ノートブック出力をコミットします。

    [ノートブック出力のコミット] ダイアログ ボックス。

ソース ノートブックを IPYNB に変換する

Azure Databricks UI を使用して、Git フォルダー内の既存のソース ノートブックを IPYNB ノートブックに変換できます。

  1. ワークスペースでソース ノートブックを開いてください。

  2. ワークスペース メニューから [ファイル] を選択し、[ノートブックの形式の変更 [ソース]] を選択してください。 ノートブックが既に IPYNB 形式になっている場合、メニュー要素の [ソース][ipynb] になります。

    ワークスペース ファイル メニューが展開され、[ノートブックの形式の変更] オプションが表示されています。

  3. モーダル ダイアログで、[Jupyter Notebook 形式 (.ipynb)] を選択し、[変更] をクリックしてください。

    IPYNB ノートブック形式を選択できるモーダル ダイアログ ボックス。

さらに、以下を実行できます。

  • 新しい .ipynb ノートブックを作成します。
  • 差分をコード差分 (セル内のコード変更) または未処理の差分 (コード変更は JSON 構文として表示され、ノートブックの出力がメタデータとして含まれます) として表示します。

Azure Databricks でサポートされているノートブックの種類の詳細については、「Databricks ノートブックのエクスポートとインポート」を参照してください。