2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DatabricksAdvent Calendar 2024

Day 9

Azure Data Factory から Databricks Repos 内のノートブックをブランチ指定して呼び出す

Last updated at Posted at 2024-12-09

はじめに

Azure Data Factory ではパイプラインにより Azure Databricks のノートブックを実行できます。

なお、Repos 内のノートブックを呼び出すと、下図のように、事前に設定されたブランチが採用されます。

image.png

今回は、Data Factory の Web アクティビティを利用して Databricks Repos 内のノートブックをブランチ指定して呼び出す回避策を説明します。

手順

1. Databricks アクセストークンの発行

Databricks ワークスペースの設定画面でアクセストークンを発行します。この値は後ほど利用します。

image.png

2. Databricks Repos ID の確認

Databricks ワークスペースにて、該当の Repos フォルダにて下図のように Git... をクリックして Git 編集画面に遷移します。

image.png

Settings タブにて Repos ID を確認できます。この値も後ほど利用します。

スクリーンショット 2022-09-23 13.19.01.png

なお、Repos ID は 以下のように API でも確認可能です。

$ curl -X GET \
  -H "Authorization: Bearer <手順1で取得したアクセストークン>" \
  https://adb-XXXXXXXXXX.XX.azuredatabricks.net/api/2.0/repos

3. Data Factory の設定

Data Factory Studio にて 2 つのアクティビティを定義します。

1 つ目の Web アクティビティで以下のように設定をし、API で Repos のブランチを変更します。

項目
URL https://adb-XXXXXXXXXX.XX.azuredatabricks.net/api/2.0/repos/<手順2で取得したReposID>
Method PATCH
Body {"branch": "<ブランチ名>"}
Headers1 Authorization: Bearer <手順1で取得したアクセストークン>
Headers2 Content-Type: application/json

image.png

2 つ目の Databricks ノートブックアクティビティで以下のように設定をし、実行するノートブックを指定します。

image.png

image.png

4. Data Factory パイプラインの実行

パイプラインを実行して、2 つのアクティビティが成功することを確認します。

image.png

Databricks ワークスペースにおいては、ノートブック実行の出力結果を確認できます。

image.png

また、Repos のブランチも Web アクティビティにより元々の main から sub に変更されていることが分かります。

image.png

おわりに

Data Factory から Databricks Repos 内のノートブックをブランチ指定して呼び出す方法を説明しました。

あくまで回避策であり、Web アクティビティと Databricks ノートブックアクティビティの間でブランチが変更された場合は対処できないことにご注意ください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?