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 cluster no Databricks remoto workspace 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 cluster no Databricks remoto workspace. O código principal do mecanismo do Spark não pode ser depurado diretamente do cliente.

Observação

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 Databricks para 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 o senhor depura, a célula que está sendo depurada exibe os botões Continue, Stop e o passo Over. 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.

  2. 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:

  • sparkque 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, essas configurações 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.

    Observação

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

    Para ativar 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:

  • %fs, que é o mesmo que fazer chamadas dbutils.fs. Consulte Misturar idiomas.

  • %shque executa um comando usando a magia de célula %%script na máquina local. Isso não executa o comando no site remoto Databricks workspace. Consulte Misturar idiomas.

  • %md e %md-sandbox, que executam a mágica da célula %%markdown. Consulte Misturar idiomas.

  • %sql, que executa spark.sql. Consulte Misturar idiomas.

  • %pip, que executa pip install no computador local. Isso não executa pip install no site remoto Databricks workspace. Veja gerenciar biblioteca com %pip comando.

  • %runO senhor pode usar o Notebook, que executa outro Notebook. Veja a execução de Databricks Notebook a partir de outro Notebook.

    Observação

    Para ativar %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 %r e %scala do Notebook não são compatíveis e exibem um erro se forem chamadas. Consulte Misturar idiomas.

  • A magia %sql do Notebook não é compatível com alguns comandos DML, como Show Tables.