Partilhar via


O que é Databricks Connect?

Nota

Este artigo aborda o Databricks Connect para o Databricks Runtime 13.3 LTS e superior.

Para obter informações sobre a versão herdada do Databricks Connect, consulte Databricks Connect for Databricks Runtime 12.2 LTS e abaixo.

O Databricks Connect é uma biblioteca de cliente para o Databricks Runtime que permite que você se conecte à computação do Azure Databricks a partir de IDEs, como Visual Studio Code, PyCharm e IntelliJ IDEA, notebooks e qualquer aplicativo personalizado, para habilitar novas experiências de usuário interativas com base em seu Azure Databricks Lakehouse.

O Databricks Connect está disponível para os seguintes idiomas:

O que posso fazer com o Databricks Connect?

Usando o Databricks Connect, você pode escrever código usando APIs do Spark e executá-las remotamente na computação do Azure Databricks em vez de na sessão local do Spark.

  • Desenvolver e depurar interativamente desde qualquer IDE. O Databricks Connect permite que os desenvolvedores desenvolvam e depurem seu código na computação do Databricks usando qualquer funcionalidade nativa de execução e depuração do IDE. A extensão do Visual Studio Code para Databricks usa o Databricks Connect para fornecer depuração integrada do código do utilizador no Databricks.

  • Crie aplicativos de dados interativos. Assim como um driver JDBC, a biblioteca Databricks Connect pode ser incorporada em qualquer aplicativo para interagir com o Databricks. O Databricks Connect fornece toda a expressividade do Python através do PySpark, eliminando a incompatibilidade de impedância da linguagem de programação SQL e permitindo que você execute todas as transformações de dados com o Spark on Databricks computação escalável sem servidor.

Como funciona?

O Databricks Connect é construído no Spark Connect de código aberto, que tem uma arquitetura cliente-servidor dissociada para o Apache Spark que permite a conectividade remota com clusters Spark usando a API DataFrame. O protocolo subjacente usa planos lógicos não resolvidos do Spark e a seta Apache sobre o gRPC. A API do cliente foi projetada para ser fina, para que possa ser incorporada em qualquer lugar: em servidores de aplicativos, IDEs, notebooks e linguagens de programação.

Onde o código do Databricks Connect é executado

  • O código geral é executado localmente: o código Python e Scala é executado no lado do cliente, permitindo a depuração interativa. Todo o código é executado localmente, enquanto todo o código Spark continua a ser executado no cluster remoto.
  • As APIs do DataFrame são executadas na computação do Databricks. Todas as transformações de dados são convertidas em planos do Spark e executadas na computação do Databricks por meio da sessão remota do Spark. Eles são materializados em seu cliente local quando você usa comandos como collect(), show(), toPandas().
  • O código UDF é executado na computação Databricks: As UDF, quando definidas localmente, são serializadas e transmitidas para o cluster onde são executadas. As APIs que executam código de usuário no Databricks incluem: UDFs, foreach, foreachBatche transformWithState.
  • Para gerenciamento de dependências:
    • Instale as dependências do aplicativo em sua máquina local. Eles são executados localmente e precisam ser instalados como parte do seu projeto, como parte do seu ambiente virtual Python.
    • Instale dependências UDF no Databricks. Consulte UDFs com dependências.

O Spark Connect é um protocolo baseado em gRPC de código aberto dentro do Apache Spark que permite a execução remota de cargas de trabalho do Spark usando a API DataFrame.

Para o Databricks Runtime 13.3 LTS e superior, o Databricks Connect é uma extensão do Spark Connect com adições e modificações para suportar o trabalho com os modos de computação Databricks e o Unity Catalog.

Próximos passos

Consulte os seguintes tutoriais para começar rapidamente a desenvolver soluções Databricks Connect:

Para ver exemplos de aplicativos que usam o Databricks Connect, consulte o repositório de exemplos do GitHub, que inclui os seguintes exemplos: