Databricks SDKを使い始める

Databricks と Python SDK

Avi Steinberg

Software/Data Engineer

なぜDatabricksを学ぶのか?

プロフィール写真

  • ML・AI・データエンジニアリング向けクラウドプラットフォームのリーダー
  • Fortune 500企業の60%以上が利用

Databricksエンブレム

1 https://www.databricks.com/company/newsroom/press-releases/databricks-raising-10b-series-j-investment-62b-valuation
Databricks と Python SDK

Databricks Workspaceとは?

  • クラウドリソースのDatabricksデプロイメント
  • Databricksアセットにアクセスするための環境
  • Databricks Workspaceのアセット例:ジョブ、クラスター、ノートブック
Databricks と Python SDK

Databricks SDKのインストール

SDKをインストールする

pip install databricks-sdk

WorkspaceClientをインスタンス化する

from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
1 https://docs.databricks.com/en/dev-tools/sdk-python.html#language-venv
Databricks と Python SDK

認証用環境変数

  • 環境変数=アプリケーションの動作を設定するキーと値のペア

  • DATABRICKS_CLIENT_SECRET

  • DATABRICKS_CLIENT_ID
  • DATABRICKS_HOST=<workspace_id>.cloud.databricks.com

Databricks WorkspaceのウェブURLのスクリーンショット

Databricks と Python SDK

サービスプリンシパルを使った認証

  • サービスプリンシパル=アプリケーションを表すクラウドプラットフォーム上のセキュリティID

  • サービスプリンシパルを作成する

  • サービスプリンシパルに権限を付与する
  • サービスプリンシパルのシークレットを生成する

Databricks WorkspaceサービスプリンシパルのSecretsページの画像

1 https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html#step-1-create-a-service-principal
Databricks と Python SDK

デフォルト認証

from databricks.sdk import WorkspaceClient
import os

os.environ['DATABRICKS_CLIENT_SECRET'] = "Your-Client-Secret"
os.environ['DATABRICKS_CLIENT_ID'] = "Your-Databricks-Client-Id"
os.environ['DATABRICKS_HOST'] = "Your-Databricks-Host"
w = WorkspaceClient()
  • 3つの環境変数の値を自動的に読み取る
Databricks と Python SDK

Databricksワークスペースの操作

# Authenticate WorkspaceClient
from databricks.sdk import WorkspaceClient
import os
os.environ['DATABRICKS_CLIENT_SECRET'] = "Your-Client-Secret"
os.environ['DATABRICKS_CLIENT_ID'] = "Your-Databricks-Client-Id"
os.environ['DATABRICKS_HOST'] = "Your-Databricks-Host"
w = WorkspaceClient()

# Create Cluster: cluster = w.clusters.create(cluster_name="Test-Cluster")
# List Clusters: for cluster in w.clusters.list(): print(f"Clusters Name: {cluster.cluster_name}")
Clusters Name: Test-Cluster
1 https://databricks-sdk-py.readthedocs.io/en/latest/clients/workspace.html
Databricks と Python SDK

練習しましょう!

Databricks と Python SDK

Preparing Video For Download...