2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DatabricksAdvent Calendar 2021

Day 13

Databricks notebookを JobとしてRestAPI経由で実行するには

Last updated at Posted at 2021-12-12

はじめに

データブリックスのノートブックをリモートから実行出来るようになると、運用フローに取り込んだり、Webアプリなどと連携出来たりと、データやAIの活用の幅が更に広がるかと思います。データブリックスでは、jobとしてノートブックを登録することで、RestAPI経由で実行が可能になります。

今回は、ノートブックに対して、パラーメータを引き渡して実行するまでの流れを見ていきたいと思います。

ノートブックの内容

今回実行するノートブックには、シンプルにcsvを読み取って、左上のフィルターに年度を入力すると、その年度の情報を表示してくれるものになります。Jobでパラメーターを引き渡す際には、このように dbutils.widgets を使って、パラーメーターを引き渡せるようにしておく必要があります。

image.png

Job の作成

ノートブックを RestAPI経由で実行できるように Jobに登録しておきます。今回はJobの作成方法については割愛させていただきます。(@taka_yayoi さんが書かれた記事などご覧ください)

Jobが作成されると、右上に Job ID が表示されます。こちらは後ほど RestAPI実行時に利用いたします。
image.png

(*) RestAPI実行前に、Job実行が成功するか、右上のRun Nowボタンから試しておくのをお勧めします。

Token の取得

RestAPIの実行の際には、認証として Tokenを利用いたします。
Databricksの左下にあるペインから setting - User Settings - Access Tokenタブ と移動して、Generate New Token をクリックして新規Tokenを取得してください。

image.png

RestAPI実行してみる

準備は完了しました。それでは早速実行してみたいと思います。

今回は、Talend API Tester Free Editionを利用して実行したいと思います。

image.png

Method: Post
Schema: https://<databricks-instance>/api/2.1/jobs/run-now
Authorization: Bearer <token>
Content-Type: application/json

Body

{
  "job_id": 9843,
  "notebook_params": {
    "year": "2015"
  }
}

パラメーターは、notebook_paramsにて引き渡すことが可能です。
入力項目の詳細はこちらのマニュアルをご覧ください。

Responseも 200で返ってきたので Rest実行は成功したようです。
image.png

結果の確認

Jobの実行結果は、Job UIの Run タブから確認できます。
image.png

View Detailsをクリックするとノートブックの実行結果も確認できます。きちんと 2015 年でフィルターされているため、パラメーターも引き渡せたことがわかります。
image.png

如何でしょうか? 結構簡単に設定ができました。
RestAPIを実行できるアプリであれば、実行できますので様々なユースケースが広がるのではないでしょうか? 是非お試しください。

2
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?