Executar e depurar células do bloco de anotações com o Databricks Connect usando a extensão 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 principal do mecanismo Spark não pode ser depurado diretamente 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 blocos de anotações com nomes de arquivo que têm uma .py
extensão, quando você abre o bloco de anotações no IDE de código do Visual Studio, cada célula exibe 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ê 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 blocos de anotações com nomes de arquivo que têm uma .ipynb
extensão, quando você abre o bloco de anotações no IDE de código do Visual Studio, o bloco de anotações e 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 bloco de anotações para nomes de arquivos com as .py
extensões e .ipynb
, consulte Exportar e importar blocos de anotações Databricks.
Executar células noteboook do Python Jupyter
Para executar ou depurar um bloco de anotações Python Jupyter (.ipynb
):
Em seu projeto, abra o bloco de anotações Python Jupyter que você deseja 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.
Clique em Executar Todas as Células para executar todas as células sem depuração, em Executar Célula para executar uma célula correspondente individual sem depuração ou em Executar por Linha para executar uma célula individual linha por linha com depuração limitada, com valores variáveis exibidos no painel Jupyter (Exibir > Jupyter Open View>).
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.
Globais de notebooks
Os seguintes blocos de anotações globais também estão habilitados:
spark
, representando uma instância do , é pré-configurado para instanciarDatabricksSession
obtendo credenciais dedatabricks.connect.DatabricksSession
autenticação do Azure Databricks da extensão. SeDatabricksSession
já estiver instanciado no código de uma célula do bloco de anotações, essasDatabricksSession
configurações serão usadas. Consulte Exemplos de código para Databricks Connect for Python.udf
, pré-configurado como um alias parapyspark.sql.functions.udf
, que é um alias para UDFs do Python. Consulte pyspark.sql.functions.udf.sql
, pré-configurado como um alias paraspark.sql
.spark
, conforme descrito anteriormente, representa uma instância pré-configurada dodatabricks.connect.DatabricksSession
. Consulte Spark SQL.dbutils
, pré-configurado como uma instância do Databricks Utilities, que é importada e é instanciadadatabricks-sdk
obtendo credenciais de autenticação do Azure Databricks da extensão. Consulte Usar utilitários Databricks.Nota
Apenas um subconjunto de utilitários Databricks é suportado para notebooks com Databricks Connect.
Para habilitar
dbutils.widgets
o , você deve primeiro instalar o SDK do Databricks para 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 builtinIPython.display.display
. Consulte IPython.display.display.displayHTML
, pré-configurado como um alias paradbruntime.display.displayHTML
, que é um alias paradisplay.HTML
deipython
. Veja IPython.display.html.
Magias do notebook
As seguintes magias do notebook também estão habilitadas:
%fs
, o que é o mesmo que fazerdbutils.fs
chamadas. Consulte Misturar idiomas.%sh
, que executa um comando usando a magia%%script
da célula na máquina local. Isso não executa o comando no espaço de trabalho remoto do Azure Databricks. Consulte Misturar idiomas.%md
e%md-sandbox
, que executa a magia%%markdown
celular. Consulte Misturar idiomas.%sql
, que correspark.sql
. Consulte Misturar idiomas.%pip
, que é executadopip install
na máquina local. Isso não é executadopip install
no espaço de trabalho remoto do Azure Databricks. Consulte Gerenciar bibliotecas com comandos %pip.%run
, que executa outro bloco de notas. Consulte Executar um bloco de notas Databricks a partir de outro bloco de notas.Nota
Para habilitar
%run
o , você deve primeiro instalar a biblioteca nbformat executando o seguinte comando no terminal da máquina de desenvolvimento local:pip install nbformat
Os recursos adicionais habilitados incluem:
- Spark DataFrames são convertidos em pandas DataFrames, que são exibidos no formato de tabela 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ágicas
%r
e%scala
não são suportados e exibem um erro se chamado. Consulte Misturar idiomas. - A magia
%sql
do notebook não suporta alguns comandos DML, como Mostrar tabelas.