Pular para o conteúdo principal

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

O senhor pode executar e depurar o Notebook, uma célula de cada vez ou todas as células de uma vez, e ver os resultados na interface do usuário do Visual Studio Code usando a extensão Databricks para integração com o Visual Studio Code Databricks Connect. Todos os códigos são executados localmente, enquanto todos os códigos que envolvem DataFrame operações são executados no clustering no Databricks workspace remoto 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 Spark continua a ser executado no clustering no Databricks workspace remoto. O código principal do mecanismo do Spark não pode ser depurado diretamente do cliente.

nota

Esse recurso funciona com Databricks Runtime 13.3 e acima.

Para ativar a integração do Databricks Connect para o Notebook na extensão Databricks para o Visual Studio Code, o senhor deve instalar o Databricks Connect na extensão Databricks para o Visual Studio Code. Consulte Depurar código usando o Databricks Connect para a extensão do Databricks para o Visual Studio Code.

execução Python Células de notebook

Para o Notebook com nomes de arquivos que têm uma extensão .py, quando o senhor abre o Notebook no IDE do Visual Studio Code, cada célula exibe os botões Executar célula , Executar acima e Depurar célula. À medida que o senhor executa uma célula, seus resultados são mostrados em um tab separado no IDE. À medida que você depura, a célula que está sendo depurada exibe os botões Continuar, Parar e Superar. Ao depurar uma célula, o senhor pode usar o recurso de depuração do Visual Studio Code, como observar os estados das variáveis e visualizar a pilha de chamadas e o console de depuração.

Para o Notebook com nomes de arquivos que têm uma extensão .ipynb, quando o senhor abre o Notebook no IDE do Visual Studio Code, o Notebook e suas células contêm recurso adicional. Consulte Células em execução e Trabalhar com células de código no Notebook Editor.

Para obter mais informações sobre os formatos do Notebook para nomes de arquivos com as extensões .py e .ipynb, consulte Exportar e importar Databricks Notebook.

execução Python Jupyter noteboook cells

Para executar ou depurar um Python Jupyter Notebook (.ipynb):

  1. Em seu projeto, abra o Python Jupyter Notebook que deseja executar ou depurar. Certifique-se de que o arquivo Python esteja no formato Jupyter Notebook e tenha a extensão .ipynb.
dica

O senhor pode criar um novo Python Jupyter Notebook executando o comando >Create: New Jupyter Notebook comando a partir da paleta de comandos .

  1. Clique em Execute All Cells para executar todas as células sem depuração, Execute Cell para executar uma célula individual correspondente sem depuração ou Execute by Line para executar uma célula individual linha a linha com depuração limitada, com valores variáveis exibidos no painel Jupyter(view > Open view > Jupyter).

    Para depuração completa em uma célula individual, defina pontos de interrupção e clique em Debug Cell no menu ao lado do botão de execução da célula.

    Depois de clicar em qualquer uma dessas opções, talvez seja solicitado que o senhor instale as dependências do pacote Python Jupyter Notebook que estão faltando. Clique para instalar.

    Para obter mais informações, consulte Jupyter Notebook in VS Code.

Notebook globals

Os seguintes globais do Notebook também estão ativados:

  • spark, que representa uma instância de databricks.connect.DatabricksSession, é pré-configurado para instanciar DatabricksSession obtendo as credenciais de autenticação do Databricks da extensão. Se DatabricksSession já estiver instanciado no código de uma célula do Notebook, as configurações de DatabricksSession serão usadas em seu lugar. Consulte Exemplos de código para o Databricks Connect para 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 de databricks.connect.DatabricksSession. Consulte Spark SQL.

  • dbutils, pré-configurado como uma instância de Databricks utilidades, que é importado de databricks-sdk e é instanciado pela obtenção de credenciais de autenticação Databricks da extensão. Consulte Use Databricks utilidades.

nota

Apenas um subconjunto de Databricks utilidades é compatível com o Notebook com Databricks Connect.

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

pip install 'databricks-sdk[notebook]'
  • display, pré-configurado como um alias para o Jupyter embutido 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. Consulte IPython.display.html.

Notebook mágica

As seguintes mágicas do Notebook também estão ativadas:

nota

Para ativar o %run, o senhor deve primeiro instalar a biblioteca nbformat executando o seguinte comando no terminal do computador de desenvolvimento local:

pip install nbformat

Os recursos adicionais habilitados incluem:

  • Spark DataFrames são convertidos para Pandas DataFrames, que são exibidos no formato de tabela do Jupyter.

Limitações

As limitações da execução de células no Notebook no Visual Studio Code incluem:

  • As mágicas do Notebook %r e %scala não são compatíveis e exibem um erro se forem chamadas. Consulte Misturar idiomas.
  • A mágica do Notebook %sql não é compatível com alguns comandos DML, como Show Tables .