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?

More than 1 year has passed since last update.

PythonからDatabricks REST APIを呼び出してみる

Posted at

こちらを参考に一通り動かしてみます。というかPythonのAPIがあることを知らなかったと言う。

DatabricksはREST APIを公開しているので、(適切な認証を経た上で)外部からDatabricksを操作できます。REST APIですとcurlなどを使うのが一般的かと思いますが、より複雑な処理の中にAPI呼び出しを組み込みたい場合には、Pythonから呼び出せた方が何かと便利かと思います。と言うことで、Python APIも公開していました。

準備

  • Databricks CLIをインストールします。
  • こちらの手順に沿って、Databricksパーソナルアクセストークンを取得しておく必要があります。

今回はVS Codeから操作するので以下の手順で、パーソナルアクセストークンを環境変数に設定しておきます。

Bash
export DATABRICKS_HOST="<DatabricksワークスペースのURL>"
export DATABRICKS_TOKEN="<パーソナルアクセストークン>"

VS Codeを起動します。

code .

コードの記述

シンプルな例としてクラスター一覧を取得します。

Python
import os
from databricks_cli.sdk.api_client import ApiClient
from databricks_cli.clusters.api import ClusterApi

api_client = ApiClient(
  host  = os.getenv('DATABRICKS_HOST'),
  token = os.getenv('DATABRICKS_TOKEN')
)

clusters_api   = ClusterApi(api_client)
clusters_list  = clusters_api.list_clusters()

print("Cluster name, cluster ID")

for cluster in clusters_list['clusters']:
  print(f"{cluster['cluster_name']}, {cluster['cluster_id']}")

これを実行することでクラスター一覧を取得することができます。
Screenshot 2023-02-25 at 21.01.22.png

次はもう少し複雑な例にトライしてみたいと思います。

なお、最近 API Explorer(ベータ版) が公開されました。

Databricks 無料トライアル

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?