Compartilhar via


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

Você pode executar e depurar notebooks em uma célula de cada vez, ou em todas as células ao mesmo tempo, na interface do usuário do Visual Studio Code, usando a extensão do Databricks Connect para a integração do Databricks Connect com o Visual Studio Code. Todos os códigos são executados localmente, enquanto todos os códigos que envolvem operações do DataFrame são executados no cluster no workspace remoto do Azure Databricks e as respostas de execução são enviadas de volta para o chamador local. Todos os códigos são depurados localmente, enquanto todos os códigos do Spark continuam sendo executados no cluster no workspace remoto do Azure Databricks. O código principal do mecanismo Spark não pode ser depurado diretamente do cliente.

Observação

Esse recurso funciona com o Databricks Runtime 13.3 e versões superiores.

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

Executar células do notebook Python

Para notebooks com nomes de arquivo que tenham uma extensão .py, quando você abre o notebook no IDE do Visual Studio Code todas as células exibem os botões 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ê as depura, a célula que está sendo depurada mostra os botões Continuar, Parar e Passar por Cima. Ao depurar uma célula, você pode usar recursos de depuração do Visual Studio Code, como, por exemplo, observar os estados das variáveis e visualizar a pilha de chamadas e o console de depuração.

Para notebooks com nomes de arquivo que tenham uma extensão .ipynb, quando você abre o notebook no IDE do Visual Studio Code o notebook e suas células contêm recursos adicionais. Confira Como executar células e Trabalhar com células de código no Editor de Notebooks.

Para obter mais informações sobre os formatos de notebook para nomes de arquivo com as extensões .py e .ipynb, confira Exportar e importar notebooks do Databricks.

Executar células do Python Jupyter Notebook

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

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

    Dica

    Você pode criar um novo Python Jupyter notebook executando o comando >Criar: Novo Notebook Jupyter de dentro da Paleta de Comandos.

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

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

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

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

Notebook globals

As seguintes variáveis globais de notebook estão habilitadas:

  • spark, representando uma instância do databricks.connect.DatabricksSession, está pré-configurado para instanciar DatabricksSession obtendo credenciais de autenticação do Azure Databricks da extensão. Se a DatabricksSession já estiver instanciada no código de uma célula de notebook, essas configurações de DatabricksSession deverão ser usadas. Confira Exemplos de código do Databricks Connect para Python.

  • udf, pré-configurado como um alias para pyspark.sql.functions.udf, que é um alias para UDFs do Python. Confira 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. Confira SQL do Spark.

  • dbutils, pré-configurado como uma instância dos Utilitários do Databricks, que é importado de databricks-sdk e é instanciado obtendo credenciais de autenticação do Azure Databricks da extensão. Confira Usar Utilitários do Databricks.

    Observação

    Somente um subconjunto de Utilitários do Databricks tem suporte para notebooks com o Databricks Connect.

    Para habilitar dbutils.widgets, você deve primeiro instalar o SDK do Databricks para Python executando o seguinte comando no terminal do computador de desenvolvimento local:

    pip install 'databricks-sdk[notebook]'
    
  • display, pré-configurado como um alias para o IPython.display.display interno do Jupyter. Confira IPython.display.display.

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

Notebook magics

Os seguintes comandos magic de notebook também são habilitados:

Os recursos adicionais que são habilitados incluem:

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

Limitações

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

  • Não há suporte para os magics %r e %scala dos notebooks e, se eles forem chamados, exibirão um erro. Confira Misturar linguagens.
  • A mágica de notebook %sql não é compatível com alguns comandos DML, como Mostrar Tabelas.