次の方法で共有


Azure Databricks ジョブでバージョン管理されたソース コードを使う

リモート Git リポジトリまたは Databricks Git フォルダーにあるノートブックまたは Python コードを使用して、ジョブを実行することができます。 この機能により、運用ジョブの作成と管理が簡単になり、継続的デプロイが自動化されます。

  • Azure Databricks で別の運用リポジトリを作成し、そのアクセス許可を管理し、更新を維持する必要はありません。
  • 運用リポジトリでのローカル編集やブランチの切り替えなによる変更など、運用ジョブに対する意図しない変更を防ぐことができます。
  • ジョブ定義プロセスはリモート リポジトリに信頼できる唯一の情報源を持ち、各ジョブの実行はコミット ハッシュにリンクされます。

リモート Git リポジトリのソース コードを使用するには、Databricks Git フォルダー (Repos) を設定する必要があります。

重要

リモート Git リポジトリから実行された Azure Databricks ジョブによって作成されたノートブックはエフェメラルです。 MLflow の実行、実験、モデルを追跡するためにそれらを利用することはできません。 この場合は、代わりにスタンドアロン MLflow 実験を使用してください。

Note

サービス プリンシパルを ID として使ってジョブを実行する場合は、ジョブのソース コードを含む Git フォルダーでサービス プリンシパルを構成できます。 「Databricks Git フォルダーでサービス プリンシパルを使用する」を参照してください。

リモート Git リポジトリからノートブックを使用する

リモート Git リポジトリにあるノートブックを使ってタスクを作成するには:

  1. サイドバーの [ワークフロー] アイコン[ワークフロー] をクリックし、[ジョブの作成] ボタン をクリックするか、既存のジョブに移動して新しいタスクを追加します。

  2. これが新規ジョブの場合は、[Add a name for your job…](ジョブ名を追加...) を自分のジョブ名に置き換えます。

  3. [タスク名] フィールドに、タスクの名前を入力します。

  4. [種類] ドロップダウン メニューで、[ノートブック] を選択します。

  5. [接続元] ドロップダウン メニューで [Git プロバイダー] を選択し、[編集] または [Add a git reference](Git 参照の追加) をクリックします。 [Git 情報] ダイアログが表示されます。

  6. [Git Information](Git 情報) ダイアログで、リポジトリの URL、Git プロバイダー、Git 参照など、リポジトリの詳細を入力します。 この Git 参照には、ブランチ、タグ、またはコミットを指定できます。

    [パス] には、ノートブックの場所への相対パスを入力します (例: etl/notebooks/)。

    相対パスを入力するときは、先頭を / または ./ にしたり、.py などのノートブック ファイル拡張子を含めたりしないでください。 たとえば、アクセスするノートブックの絶対パスが /notebooks/covid_eda_raw.py の場合は、[Path](パス) フィールドに「notebooks/covid_eda_raw」と入力します。

  7. Create をクリックしてください。

重要

ソース Git リポジトリから直接 Python ノートブックを使用する場合は、ノートブック ソース ファイルの最初の行を # Databricks notebook source にする必要があります。 Scala ノートブックの場合、ソース ファイルの最初の行は // Databricks notebook source にする必要があります。

リモート Git リポジトリから Python コードを使用する

リモート Git リポジトリにある Python コードを使ってタスクを作成するには:

  1. サイドバーの [ワークフロー] アイコン[ワークフロー] をクリックし、[ジョブの作成] ボタン をクリックするか、既存のジョブに移動して新しいタスクを追加します。

  2. これが新規ジョブの場合は、[Add a name for your job…](ジョブ名を追加...) を自分のジョブ名に置き換えます。

  3. [タスク名] フィールドに、タスクの名前を入力します。

  4. [種類] ドロップダウン メニューで、[Python スクリプト] を選択します。

  5. [接続元] ドロップダウン メニューで [Git プロバイダー] を選択し、[編集] または [Add a git reference](Git 参照の追加) をクリックします。 [Git 情報] ダイアログが表示されます。

  6. [Git Information](Git 情報) ダイアログで、リポジトリの URL、Git プロバイダー、Git 参照など、リポジトリの詳細を入力します。 この Git 参照には、ブランチ、タグ、またはコミットを指定できます。

    [パス] には、ソースの場所への相対パスを入力します (例: etl/python/python_etl.py)。

    相対パスを入力するときは、先頭を / または ./ にしないでください。 たとえば、アクセスする Python コードの絶対パスが /python/covid_eda_raw.py の場合は、[パス] フィールドに「python/covid_eda_raw.py」と入力します。

  7. Create をクリックしてください。

リモート Git リポジトリに格納されている Python コードを実行するタスクの実行履歴を表示すると、[タスクの実行の詳細] パネルには、実行に関連付けられているコミット SHA を含む Git の詳細が表示されます。

リモート Git リポジトリから SQL クエリを使用する

Note

1 つのファイルでサポートされている SQL ステートメントは 1 つだけです。 セミコロン (;) で区切られた複数の SQL ステートメントは許可されていません。

リモート Git リポジトリにある .sql ファイルに保存されているクエリを実行するには:

  1. サイドバーの [ワークフロー] アイコン[ワークフロー] をクリックし、[ジョブの作成] ボタン をクリックするか、既存のジョブに移動して新しいタスクを追加します。

  2. これが新規ジョブの場合は、[Add a name for your job…](ジョブ名を追加...) を自分のジョブ名に置き換えます。

  3. [タスク名] フィールドに、タスクの名前を入力します。

  4. [種類 ] ドロップダウン メニューで、[SQL] を選択します。

  5. [SQL タスク] ドロップダウン メニューで、[ファイル] を選択します。

  6. [接続元] ドロップダウン メニューで [Git プロバイダー] を選択し、[編集] または [Add a git reference](Git 参照の追加) をクリックします。 [Git 情報] ダイアログが表示されます。

  7. [Git Information](Git 情報) ダイアログで、リポジトリの URL、Git プロバイダー、Git 参照など、リポジトリの詳細を入力します。 この Git 参照には、ブランチ、タグ、またはコミットを指定できます。

    [パス] には、ソースの場所への相対パスを入力します (例: queries/sql/myquery.sql)。

    相対パスを入力するときは、先頭を / または ./ にしないでください。 たとえば、アクセスする SQL クエリの絶対パスが /sql/myqeury.sql の場合は、[パス] フィールドに「sql/myquery.sql」と入力します。

  8. SQL ウェアハウスを選択します。 サーバーレス SQL ウェアハウスまたはプロ SQL ウェアハウスを選択する必要があります。

  9. Create をクリックしてください。

リモート Git リポジトリから追加のタスクを追加する

マルチタスク ジョブ内の追加のタスクは、次のいずれかの方法で、リモート リポジトリ内の同じコミットを参照できます。

  • sha / $branch/head (git_branch が設定されているとき)
  • sha / $tag (git_tag が設定されているとき)
  • git_commit の値

Azure Databricks ジョブではノートブックと Python タスクを混在させることができますが、これらは同じ Git 参照を使用する必要があります。

Databricks Git フォルダーを使用する

Azure Databricks UI を使用してソース コードのバージョン管理を行う場合は、Databricks Git フォルダーにリポジトリをクローンします。 詳細については、「オプション 2: 運用 Git フォルダーと Git 自動化を設定する」を参照してください。

ジョブ タスクの Git フォルダーからノートブックまたは Python コードを追加するには、[接続元] ドロップダウン メニューで [ワークスペース] を選択し、[パス] にノートブックまたは Python コードへのパスを入力します。

IDE からノートブックにアクセスする

統合開発環境からノートブックにアクセスする必要がある場合は、ノートブックのソース コード ファイルの上部にコメント # Databricks notebook source があることを確認してください。 通常の Python ファイルと、ソース コード形式でエクスポートされた Azure Databricks の Python 言語ノートブックを区別するため、ノートブックのソース コード ファイルの先頭には Databricks によって # Databricks notebook source という行が追加されます。 ノートブックをインポートすると、Azure Databricks によってそれが認識されて、Python モジュールとしてではなく、ノートブックとしてインポートされます。

トラブルシューティング

Note

Git ベースのジョブでは、ワークスペース ファイルへの書き込みアクセスはサポートされていません。 一時的な記憶域にデータを書き込むには、ドライバー記憶域を使用します。 Git ジョブから永続的なデータを書き込むには、UC ボリュームまたは DBFS を使用します。

エラー メッセージ:

Run result unavailable: job failed with error message Notebook not found: path-to-your-notebook

考えられる原因:

ノートブックのソース コード ファイルの上部にコメント# Databricks notebook source がありません。または、コメント内の notebook は小文字の n で始まる必要がありますが、大文字になっています。