Databricks Connect for Python
Observação
Este artigo abrange o Databricks Connect para Databricks Runtime 13.3 LTS e acima.
Este artigo demonstra como começar a usar rapidamente o Databricks Connect usando Python e PyCharm.
Para a versão R deste artigo, consulte Databricks Connect for R.
Para a versão Scala deste artigo, consulte Databricks Connect for Scala.
O Databricks Connect permite que você conecte IDEs populares, como PyCharm, servidores de notebook e outros aplicativos personalizados aos clusters do Databricks. Consulte O que é o Databricks Connect?.
Tutorial
Para pular este tutorial e usar um IDE diferente, consulte Próximos passos.
Requisitos
Para completar este tutorial, você deve atender aos seguintes requisitos:
Seu workspace do Databricks de destino deve ter o Unity Catalog habilitado.
Você tem o PyCharm instalado. Este tutorial foi testado com o PyCharm Community Edition 2023.3.5. Se você usar uma versão ou edição diferente do PyCharm, as instruções a seguir podem variar.
Seu compute atende aos requisitos de instalação do Databricks Connect for Python.
Se você estiver usando o compute clássico, precisará da ID do cluster. Para obter o ID do cluster, no seu workspace, clique em Compute na barra lateral e, em seguida, clique no nome do cluster. Na barra de endereços do navegador da Web, copie a sequência de caracteres entre
clusters
econfiguration
no URL.
Etapa 1: Configurar autenticação do Databricks
Este tutorial usa a Databricks OAuth autenticação user-to-machine (U2M) e um Databricks perfil de configuração para autenticação no Databricks workspace seu . Para usar um tipo de autenticação diferente, consulte Configurar propriedades de conexão.
A configuração da autenticação OAuth U2M requer a CLI da Databricks. Para obter informações sobre a instalação do Databricks CLI, consulte Instalar ou atualizar o Databricks CLI .
Inicie a autenticação OAuth U2M, conforme a seguir:
Use a CLI do Databricks para iniciar o gerenciamento de tokens OAuth localmente executando o seguinte comando para cada workspace de destino.
No comando a seguir, substitua
<workspace-url>
pela URL da instância do seu workspace do Databricks, por exemplohttps://dbc-a1b2345c-d6e7.cloud.databricks.com
.databricks auth login --configure-cluster --host <workspace-url>
Como alternativa, se o senhor quiser usar o Databricks serverless compute com o DB Connect, siga os passos em Configurar uma conexão com o serverless compute .
O site Databricks CLI solicita que o senhor salve as informações inseridas como um Databricks perfil de configuração. Pressione
Enter
para aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelas informações que o senhor inseriu. O senhor pode usar perfis para alternar rapidamente o contexto de autenticação em vários espaços de trabalho.Para obter uma lista de todos os perfis existentes, em um terminal ou prompt de comando separado, use a CLI do Databricks para executar o comando
databricks auth profiles
. Para visualizar as configurações existentes de um perfil específico, execute o comandodatabricks auth env --profile <profile-name>
.No navegador da Web, conclua as instruções na tela para fazer login no workspace do Databricks.
Na lista de clusters disponíveis que aparece no seu terminal ou prompt de comando, use as teclas de seta para cima e para baixo para selecionar o cluster Databricks alvo no seu workspace, e então pressione
Enter
. Você também pode digitar qualquer parte do nome de exibição do cluster para filtrar a lista de clusters disponíveis.Para visualizar o valor atual do token OAuth de um perfil e a data e hora de expiração futura do token, execute um dos seguintes comandos:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Se você tiver vários perfis com o mesmo valor de
--host
, talvez seja necessário especificar as opções de--host
e-p
juntas para ajudar a CLI do Databricks a encontrar as informações corretas de token OAuth correspondentes.
Passo 2: Criar o projeto
Inicie o PyCharm.
No menu principal, clique em Arquivo > Novo projeto.
Na caixa de diálogo Novo projeto, clique em Python puro.
Para Localização, clique no ícone da pasta e siga as instruções na tela para especificar o caminho do seu novo projeto Python.
Deixe Criar um script de boas-vindas main.py selecionado.
Para Tipo de interpretador, clique em venv do projeto.
Expanda a versão do Python e use o ícone de pasta ou a lista suspensa para especificar o caminho para o interpretador do Python a partir dos requisitos anteriores.
Clique em Criar.
Passo 3: Adicionar o pacote Databricks Connect
No menu principal do PyCharm, clique em Exibir > Janelas de ferramentas > Pacotes Python.
Na caixa de pesquisa, insira
databricks-connect
.Na lista de repositórios do PyPI, clique em databricks-connect.
Na lista suspensa mais recente do painel de resultados, selecione a versão que corresponde à versão do Databricks Runtime de seu cluster. Por exemplo, se seu cluster tiver o Databricks Runtime 14.3 instalado, selecione 14.3.1.
Clique em Instalar pacote.
Após a instalação do pacote, você pode fechar a janela Pacotes Python.
Passo 4: adicionar código
Na janela de ferramentas Projeto, clique com o botão direito do mouse na pasta raiz do projeto e depois em Novo > Arquivo Python.
Digite
main.py
e clique duas vezes no arquivo Python.Digite o código a seguir no arquivo e salve-o, dependendo do nome do seu perfil de configuração.
Se o seu perfil de configuração do Passo 1 for denominado
DEFAULT
, insira o seguinte código no arquivo e salve-o:from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
Se o seu perfil de configuração do Passo 1 não for nomeado
DEFAULT
, insira o código a seguir no arquivo. Substitua o placeholder<profile-name>
pelo nome do seu perfil de configuração do passo 1 e salve o arquivo:from databricks.connect import DatabricksSession spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
Passo 5: execução do código
Inicie o cluster de destino no seu workspace remoto do Databricks.
Depois que o cluster for iniciado, no menu principal, clique em Executar > Executar "principal".
Na janela da ferramenta Execução (Exibir > Janelas de ferramentas > Execução), na guia Execução, no painel principal, são exibidas as cinco primeiras linhas do
samples.nyctaxi.trips
.
Passo 6: depuração do código
Com o cluster ainda em execução, no código anterior, clique na medianiz ao lado de
df.show(5)
para definir um ponto de interrupção.No menu principal, clique em Executar > Depurar "principal".
Na janela da ferramento Depuração (Exibir > Janelas de ferramentas > Depuração), na guia Depurador, no painel de Variáveis, expanda os nós das variáveis df e spark para procurar informações sobre as variáveis
df
espark
do código.Na barra lateral da janela da ferramenta Depurar, clique no ícone de seta verde (Retomar programa).
Na guia Depurador, no painel Console, as cinco primeiras linhas do
samples.nyctaxi.trips
são exibidas.
Próximos passos
Para saber mais sobre o Databricks Connect, consulte artigos como estes:
Para usar tipos de autenticação do Databricks diferentes do OAuth U2M, confira Configurar propriedades de conexão.
Para usar outros IDEs, servidores de notebook e shell Spark, consulte o seguinte:
Para exibir exemplos de códigos simples adicionais, consulte Exemplos de código para Databricks Connect para Python.
Para exibir exemplos de códigos mais complexos, confira as aplicações de exemplo para o repositório do Databricks Connect no GitHub, especificamente:
Para usar as Utilidades do Databricks com o Databricks Connect, consulte Utilidades do Databricks com Databricks Connect for Python.
Para migrar do Databricks Connect para Databricks Runtime 12.2 LTS e abaixo para o Databricks Connect para Databricks Runtime 13.3 LTS e acima, consulte Migrar para o Databricks Connect for Python.
Veja também informações sobre solução de problemas e limitações.