Começando com o SDK do Databricks

Databricks com o SDK em Python

Avi Steinberg

Software/Data Engineer

Por que aprender Databricks?

Foto do perfil

  • Plataforma líder de ML, IA e Engenharia de Dados
  • Usada por mais de 60% das empresas Fortune 500

Emblema do Databricks

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

O que é um Workspace do Databricks?

  • Implantação do Databricks em recursos de nuvem
  • Ambiente para acessar ativos do Databricks
  • Exemplos no Workspace: jobs, clusters e notebooks
Databricks com o SDK em Python

Instalar o SDK do Databricks

Instalar o SDK

pip install databricks-sdk

Instanciar WorkspaceClient

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

Variáveis de ambiente de autenticação

  • Variável de ambiente = par chave/valor que configura o comportamento do app

  • DATABRICKS_CLIENT_SECRET

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

Captura de tela da URL Web do Workspace do Databricks

Databricks com o SDK em Python

Autenticar com um Service Principal

  • Service Principal = identidade de segurança na nuvem que representa um app

  • Cria um Service Principal

  • Concede permissões ao Service Principal
  • Gera um segredo para o Service Principal

Imagem da página Secrets do Service Principal do Workspace Databricks

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

Autenticação padrão

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()
  • Lê automaticamente os valores das três variáveis de ambiente
Databricks com o SDK em Python

Interagir com o workspace do 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 com o SDK em Python

Vamos praticar!

Databricks com o SDK em Python

Preparing Video For Download...