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 を参照)のオープンソース。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト