Usar Notebook com Databricks Connect

Observação

Este recurso funciona com Databricks Runtime 13.3 e acima.

Você pode executar o Databricks Notebook e ver seus resultados no Visual Studio Code IDE, uma célula por vez ou todas as células de uma vez, usando a integração do Databricks Connect na extensão Databricks para Visual Studio Code. Todo o código é executado localmente, enquanto todo o código que envolve operações do DataFrame é executado nos clusters no workspace remoto do Databricks e as respostas de execução são enviadas de volta ao chamador local. Você também pode depurar células. Todo o código é depurado localmente, enquanto todo o código Spark continua a ser executado nos clusters no workspace remoto do Databricks. O código principal do mecanismo Spark não pode ser depurado diretamente do cliente.

Por default, sem a integração do Databricks Connect descrita nestes artigos, o uso Notebook é limitado:

  • Você não pode executar Notebook uma célula por vez usando apenas a extensão Databricks para Visual Studio Code.

  • Você não pode depurar células.

  • Você pode executar Notebook apenas como Job do Databricks e ver apenas os resultados da execução Notebookno IDE do Visual Studio Code.

  • Toda a execução do código Notebook apenas nos clusters associados a esses Job.

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

Após a ativação, para Notebook com nomes de arquivos que possuem uma extensão .py, quando você abre o Notebook no Visual Studio Code IDE, cada célula exibe os botões execução Cell, execução acima e Debug Cell . À medida que você executa uma célula, seus resultados são mostrados em uma tab separada no IDE. À medida que você depura, a célula que está sendo depurada exibe os botões Continue, Stop e o passo Over . Ao depurar uma célula, você 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.

Após a ativação, para Notebook com nomes de arquivos que possuem 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. Consulte Executando células e Trabalhando com células de código no Notebook Editor.

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

Os seguintes Notebook 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 Databricks da extensão. Se DatabricksSession já estiver instanciado no código de uma célula Notebook , essas configurações DatabricksSession serão usadas. 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 Python. Consulte PySpark.

  • 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 do Databricks russas, que é importado de databricks-sdk e instanciado obtendo credenciais de autenticação do Databricks da extensão. Veja Usar Databricks russitas.

    Observação

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

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

    pip install 'databricks-sdk[notebook]'
    
  • display, pré-configurado 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. Consulte IPython.display.html.

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

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

  • %sh, que executa um comando usando a célula mágica %%script na máquina local. Isso não executa o comando no workspace remoto do Databricks. Consulte Misturar idiomas.

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

  • %sql, cuja execução spark.sql. Consulte Misturar idiomas.

  • %pip, cuja execução pip install na máquina local. Isso não é executado pip install no workspace remoto do Databricks. Veja gerenciar biblioteca com comando %pip.

  • %run, que executa outro Notebook. Esta mágica Notebook está disponível na extensão Databricks para Visual Studio Code versão 1.1.2 e acima. Consulte a execução de um Notebook Databricks de outro Notebook.

    Observação

    Para ativar %run, você deve primeiro instalar a biblioteca nbformat executando o seguinte comando no terminal da sua máquina de desenvolvimento local:

    pip install nbformat
    
  • # MAGIC. Esta mágica Notebook está disponível na extensão Databricks para Visual Studio Code versão 1.1.2 e acima.

Os recursos adicionais habilitados incluem:

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

As limitações incluem:

  • As mágicas Notebook %r e %scala não são suportadas e exibem um erro se chamadas. Consulte Misturar idiomas.

  • A mágica Notebook %sql não suporta alguns comandos DML, como Show Tables.