Partilhar via


Executar e depurar células de notebook com o Databricks Connect usando a extensão do Databricks para Visual Studio Code

Você pode executar e depurar blocos de anotações, uma célula de cada vez ou todas as células ao mesmo tempo, e ver seus resultados na interface do usuário do Visual Studio Code usando a extensão Databricks para integração do Visual Studio Code Databricks Connect. Todo o código é executado localmente, enquanto todo o código que envolve operações DataFrame é executado no cluster no espaço de trabalho remoto do Azure Databricks e as respostas de execução são enviadas de volta ao chamador local. Todo o código é depurado localmente, enquanto todo o código do Spark continua a ser executado no cluster no espaço de trabalho remoto do Azure Databricks. O código central do motor Spark não pode ser depurado diretamente a partir do cliente.

Nota

Este recurso funciona com o Databricks Runtime 13.3 e superior.

Para habilitar a integração do Databricks Connect para notebooks na extensão Databricks para Visual Studio Code, você deve instalar o Databricks Connect na extensão Databricks para Visual Studio Code. Consulte Depurar código usando Databricks Connect para a extensão Databricks para Visual Studio Code.

Executar células de bloco de anotações Python

Para notebooks com nomes de ficheiro que têm uma extensão .py, ao abrir o notebook no IDE Visual Studio Code, cada célula exibe Executar célula, Executar acima e Depurar célula. À medida que você executa uma célula, seus resultados são mostrados em uma guia separada no IDE. À medida que você depura, a célula que está sendo depurada exibe os botões Continuar, Parar e Passar Sobre . Ao depurar uma célula, você pode usar os recursos de depuração do Visual Studio Code, como observar os estados das variáveis e exibir a pilha de chamadas e o console de depuração.

Para notebooks com nomes de arquivo que têm a .ipynb extensão, quando o utilizador abre o notebook no IDE do Visual Studio Code, o notebook e as suas células contêm recursos adicionais. Consulte Células em execução e Trabalhar com células de código no Editor de Bloco de Notas.

Para obter mais informações sobre formatos de nomes de arquivos para blocos de notas com as extensões .py e .ipynb, consulte Importar e exportar blocos de notas Databricks.

Executar células de bloco de anotações Python Jupyter

Para executar ou testar um notebook Python Jupyter (.ipynb):

  1. No seu projeto, abra o notebook Jupyter Python que pretende executar ou depurar. Verifique se o arquivo Python está no formato de notebook Jupyter e tem a extensão .ipynb.

    Gorjeta

    Você pode criar um novo bloco de anotações Python Jupyter executando o >comando Create: New Jupyter Notebook de dentro da Paleta de Comandos.

  2. Clique Executar Todas as Células para executar todas as células sem depuração, Executar Célula para executar uma célula individual correspondente sem depuração, ou Executar por Linha para executar uma célula individual linha por linha com depuração limitada, com valores de variáveis exibidos no painel Jupyter (Ver > Abrir Visualização > Jupyter).

    Para depuração completa dentro de uma célula individual, defina pontos de interrupção e clique em Depurar Célula no menu ao lado do botão Executar da célula.

    Depois de clicar em qualquer uma dessas opções, você pode ser solicitado a instalar dependências ausentes do pacote de notebook Python Jupyter. Clique para instalar.

    Para obter mais informações, consulte Jupyter Notebooks no VS Code.

Variáveis globais de notebooks

Os seguintes blocos de anotações globais também estão habilitados:

  • spark, representando uma instância de databricks.connect.DatabricksSession, é pré-configurado para instanciar DatabricksSession obtendo credenciais de autenticação do Azure Databricks da extensão. Se DatabricksSession já estiver instanciado no código de uma célula do bloco de anotações, esta DatabricksSession configuração será usada. Consulte Exemplos de código para Databricks Connect for Python.

  • udf, pré-configurado como um alias para pyspark.sql.functions.udf, que é um alias para UDFs do Python. Consulte pyspark.sql.functions.udf.

  • sql, pré-configurado como um alias para spark.sql. spark, conforme descrito anteriormente, representa uma instância pré-configurada do databricks.connect.DatabricksSession. Consulte Spark SQL.

  • dbutils, pré-configurado como uma instância do Databricks Utilities, que é importada do databricks-sdk e instanciada através da obtenção de credenciais de autenticação do Azure Databricks a partir da extensão. Consulte Utilizar Databricks Utilities.

    Nota

    Apenas um subconjunto de utilitários Databricks é suportado para notebooks com Databricks Connect.

    Para habilitar dbutils.widgets, deve primeiro instalar o SDK Databricks para Python, executando o seguinte comando no terminal da máquina de desenvolvimento local:

    pip install 'databricks-sdk[notebook]'
    
  • display, preconfigurado como um alias para o Jupyter integrado IPython.display.display. Consulte IPython.display.display.

  • displayHTML, pré-configurado como um alias para dbruntime.display.displayHTML, que é um alias para display.HTML de ipython. Veja IPython.display.html.

Magias do notebook

As seguintes magias do notebook também estão habilitadas:

Os recursos adicionais habilitados incluem:

  • Os Spark DataFrames são convertidos em pandas DataFrames, exibidos no formato de tabela do Jupyter.

Limitações

As limitações de execução de células em blocos de anotações no Visual Studio Code incluem:

  • Os notebooks mágicos %r e %scala não são suportados e exibem um erro se chamados. Consulte Misturar idiomas.
  • A magia de notebook %sql não suporta alguns comandos DML, como Mostrar Tabelas.