databricks/databricks-sdk-py
Databricks SDK for Python (Beta)
Databricks SDK for Python (ベータ)
何であるか – 全ての公開 Databricks REST API をラップする Python クライアントライブラリです。Python コードから Databricks ワークスペース、クラスタ、ジョブ、Unity Catalog、その他の Lakehouse リソースをプログラムで管理できます。
なぜ重要か – Databricks は広く使われているクラウドデータレイク/データウェアハウスプラットフォームであり、Spark をベースにした機械学習ワークロードもホストしています。この SDK は、直接の HTTP 呼び出しを抽象化し、知的なリトライ、ページネーション処理、統合認証を追加することで、Databricks とやり取りする自動化、CI/CD パイプライン、カスタムツールの構築をはるかに簡単にするものです。
導入方法
pip install databricks-sdk
from databricks.sdk import WorkspaceClient
w = WorkspaceClient() # .databrickscfg、環境変数、またはデフォルトからホスト/トークンを取得
for c in w.clusters.list():
print(c.cluster_name)
この SDK は Python 3.7〜3.11 に対応しています。Databricks Runtime 13.1+ ではライブラリが事前にインストールされています。それ以外の場合はノートブック内で %pip install --upgrade databricks-sdk を実行し、Python プロセスを再起動してください。
主な機能(README に記載)
- 完全な API カバレッジ – すべての公開 Databricks REST エンドポイントが Python メソッドとして利用可能。
- 堅牢な HTTP クライアント – 一時的な障害に対する自動リトライとバックオフ。
- ページネートされた応答 – イテレータヘルパーがページネーションの詳細を隠蔽。
- 長時間実行操作の処理 – ジョブ、クラスタなどが望ましい状態に達するまで待つためのヘルパー。
- 統合認証 – 次の認証方法をサポート:
- Databricks パーソナルアクセストークン(PAT)認証
- ワークロードアイデンティティフェデレーション(OIDC)トークン
- Azure のネイティブフロー(クライアントシークレット、Azure CLI、マネージドサービスアイデンティティ)
- GCP のネイティブフロー(サービスアカウント JSON、デフォルトアプリケーション資格情報)
- 自動的にクラウドプロバイダー(AWS、Azure、GCP)を検出し、適切な方法を選択。
- 設定ソース – 認証情報は関数引数、環境変数、または
~/.databrickscfgプロファイルファイルから供給できます。SDK は定義された順序でこれらの場所を検索し、最初に有効なセットを発見したら停止します。 - 統合ホストサポート –
account_idとworkspace_idが存在する場合、1 つのホストがアカウントレベルとワークスペースレベルの API を同時に提供可能。これにより、同じプロファイルでWorkspaceClientとAccountClientの両方のオブジェクトを作成できます。 - ユーザーエージェントの付与 – クライアントは Databricks が SDK の使用状況を追跡できるように識別可能なヘッダーを追加します。
- エラー処理とログ – 一貫した例外タイプとオプションのログフック。
リポジトリに含まれる使用例
- Flask Web サーバーからの OAuth フロー(
examples/flask_app_with_oauth.py)。 - ジョブの開始と完了待ち(
examples/starting_job_and_waiting.py)。 - ローカルブラウザでの OAuth ログイン(
examples/local_browser_oauth.py)。 - Unity Catalog の移行や IP アクセスリスト分析など、実世界のプロジェクトはこの SDK に依存しています。
さらに学ぶには
- 完全な API リファレンス: https://databricks-sdk-py.readthedocs.io
- クラウド固有のドキュメント: README に AWS、Azure、GCP のリンクあり。
- 関連 SDK: Java、Go、および Terraform プロバイダ。
ライセンス – 上流の Databricks リポジトリと同じライセンス(LICENSE を参照)のオープンソース。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト