开始使用 Databricks SDK

使用 Python SDK 的 Databricks

Avi Steinberg

Software/Data Engineer

为何学习 Databricks?

个人照片

  • 领先的 ML、AI 与数据工程云平台
  • 超过 60% 的财富 500 强在使用

Databricks 徽标

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

什么是 Databricks 工作区?

  • 在云中部署 Databricks 资源
  • 访问 Databricks 资产的环境
  • 工作区示例资产:作业、集群、笔记本
使用 Python SDK 的 Databricks

安装 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
使用 Python SDK 的 Databricks

认证环境变量

  • 环境变量 = 用于配置应用行为的键/值对

  • DATABRICKS_CLIENT_SECRET

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

Databricks 工作区 Web URL 截图

使用 Python SDK 的 Databricks

使用服务主体进行认证

  • 服务主体(Service Principal)= 云平台中表示某个应用程序的安全标识

  • 创建服务主体

  • 为服务主体分配权限
  • 为服务主体生成密钥

Databricks 工作区服务主体的 Secrets 页面图像

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

默认认证

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()
  • 自动读取上述三个环境变量的值
使用 Python SDK 的 Databricks

与 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
使用 Python SDK 的 Databricks

Passons à la pratique !

使用 Python SDK 的 Databricks

Preparing Video For Download...