Compartilhar via


O que é o Databricks Connect?

Observação

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

Para obter informações sobre a versão herdada do Databricks Connect, confira Databricks Connect para Databricks Runtime 12.2 LTS e anteriores.

O Databricks Connect é uma biblioteca cliente para o Databricks Runtime que permite conectar-se à 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 interativas para o usuário baseadas no Lakehouse do Azure Databricks.

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 do Spark local.

  • Desenvolva e depure interativamente em qualquer IDE. O Databricks Connect permite que os desenvolvedores desenvolvam e depurem seu código na computação do Databricks usando a funcionalidade nativa de execução e depuração do IDE. A extensão do Databricks Visual Studio Code usa o Databricks Connect para fornecer depuração interna do código do usuário no Databricks.

  • Crie aplicativos de dados interativos. Assim como um driver JDBC, a biblioteca do Databricks Connect pode ser inserida em qualquer aplicativo para interagir com o Databricks. O Databricks Connect fornece toda a expressividade do Python por meio 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 na computação escalonável sem servidor do Databricks.

Como funciona?

O Databricks Connect é criado no Spark Connect de software livre, que tem uma arquitetura de cliente-servidor desacoplado para Apache Spark que permite conectividade remota com clusters Spark usando a API dataframe. O protocolo subjacente usa planos lógicos não resolvidos do Spark e o Apache Arrow sobre o gRPC. A API do cliente foi projetada para ser fina, para que possa ser inserida em todos os lugares: 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, habilitando a depuração interativa. Todo o código é executado localmente, enquanto todo o código do Spark continua sendo executado no cluster remoto.
  • As APIs de DataFrame são executadas na computação do Databricks. Todas as transformações de dados são convertidas em planos 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 do Databricks: UDFs definidos localmente são serializados e transmitidos para o cluster em que ele é executado. As APIs que executam o código do usuário no Databricks incluem: UDFs, foreache foreachBatchtransformWithState.
  • Para gerenciamento de dependências:
    • Instale as dependências do aplicativo no computador local. Elas são executadas localmente e precisam ser instaladas como parte do projeto, como parte do ambiente virtual do Python.
    • Instale dependências de UDF no Databricks. Consulte UDFs com dependências.

O Spark Connect é um protocolo baseado em gRPC de software livre no 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 ou superior, o Databricks Connect é uma extensão do Spark Connect com adições e modificações para dar suporte ao trabalho com modos de computação do Databricks e o Unity Catalog.

Próximas etapas

Confira os seguintes tutoriais para começar rapidamente a desenvolver soluções do 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: