こちらを参考に一通り動かしてみます。というか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']}")
これを実行することでクラスター一覧を取得することができます。
次はもう少し複雑な例にトライしてみたいと思います。
なお、最近 API Explorer(ベータ版) が公開されました。