Escolha uma linguagem de desenvolvimento
A Databricks suporta o uso de diferentes linguagens de programação para desenvolvimento e engenharia de dados. Este artigo descreve as opções disponíveis, onde esses idiomas podem ser usados e suas limitações.
Recomendações
A Databricks recomenda Python e SQL para novos projetos:
- Python é uma linguagem de programação de uso geral muito popular. Os DataFrames do PySpark facilitam a criação de transformações modulares e testáveis. O ecossistema Python também oferece suporte a uma ampla variedade de bibliotecas para ampliar suas soluções.
- SQL é uma linguagem muito popular para gerenciar e manipular conjuntos de dados relacionais, realizando operações como consulta, atualização, inserção e exclusão de dados. SQL é uma boa opção se o seu histórico for principalmente em bancos de dados ou data warehousing. O SQL também pode ser incorporado ao Python usando
spark.sql.
As linguagens a seguir têm suporte limitado, portanto, a Databricks não as recomenda para novos projetos de engenharia de dados:
- Scala é a linguagem usada para o desenvolvimento do Apache Spark™.
- O R só é totalmente compatível com o Databricks Notebook.
O suporte a idiomas também varia dependendo dos recursos utilizados para construir o pipeline de dados e outras soluções. Por exemplo, o pipeline declarativo LakeFlow Spark suporta Python e SQL, enquanto o fluxo de trabalho permite criar pipelines de dados usando Python, SQL, Scala e Java.
Outras linguagens podem ser usadas para interagir com o Databricks para consultar dados ou realizar transformações de dados. No entanto, essas interações estão principalmente no contexto de integrações com sistemas externos. Nesses casos, o desenvolvedor pode usar praticamente qualquer linguagem Databricks Databricks SQL de programação para interagir com por meio dos Databricks REST API driversODBC/JDBC drivers, linguagens específicas com suporte aoPython Node.js Spark conector (Go,, Javascript/) ou linguagens que tenham implementações do Connect, como Go e Rust.
desenvolvimento de espaços de trabalho versus desenvolvimento local
Você pode desenvolver projetos de dados e pipelines usando o workspace Databricks ou um IDE (ambiente de desenvolvimento integrado) em sua máquina local, mas é recomendável iniciar novos projetos no workspace Databricks . O workspace é acessível através de um navegador web, proporciona fácil acesso aos dados no Unity Catalog e suporta poderosas funcionalidades de eliminação e recursos como o Genie Code.
Desenvolva o código no site Databricks workspace usando o Databricks Notebook ou o editor SQL. Databricks O Notebook oferece suporte a várias linguagens de programação, mesmo dentro do mesmo Notebook, para que o senhor possa desenvolver usando Python, SQL e Scala.
Há várias vantagens em desenvolver código diretamente no site Databricks workspace:
- O ciclo de feedback é mais rápido. Você pode testar imediatamente o código escrito em dados reais.
- O Genie Code integrado e sensível ao contexto pode acelerar o desenvolvimento e ajudar a resolver problemas.
- O senhor pode programar facilmente o Notebook e as consultas diretamente do site Databricks workspace.
- Para o desenvolvimento do Python, o senhor pode estruturar corretamente seu código Python usando arquivos como Python pacote em um workspace.
No entanto, o desenvolvimento local em um IDE oferece as seguintes vantagens:
- Os IDEs têm ferramentas melhores para trabalhar com projetos de software, como navegação, refatoração de código e análise de código estático.
- O senhor pode escolher como controlar a fonte e, se usar o site Git, haverá mais funcionalidades avançadas disponíveis localmente do que nas pastas workspace e Git.
- Há uma variedade maior de idiomas suportados. Por exemplo, o senhor pode desenvolver um código usando Java e implantá-lo como uma tarefa JAR.
- Há um suporte melhor para a depuração de código.
- Há um melhor suporte para trabalhar com testes unitários.
Exemplo de seleção de idioma
A seleção de idiomas para engenharia de dados é visualizada usando a seguinte árvore de decisão:

Desenvolvimento de código Python
A linguagem Python possui suporte de primeira classe no Databricks. Você pode usá-lo no Databricks Notebook, no pipeline declarativo LakeFlow Spark e no fluxo de trabalho para desenvolver UDFs, além de implantá-lo como um script Python e como wheels.
Ao desenvolver projetos Python no workspace Databricks , seja como Notebook ou em arquivos, Databricks fornece ferramentas como preenchimento automático de código, navegação, validação de sintaxe, geração de código usando Genie Code, renderização interativa e muito mais. O código desenvolvido pode ser executado interativamente, implantado como um fluxo de trabalho Databricks ou um pipeline declarativo LakeFlow Spark , ou até mesmo como uma função no Unity Catalog. Você pode estruturar seu código dividindo-o em pacotes Python separados , que podem então ser usados em múltiplos pipelines ou Jobs.
Databricks fornece uma extensão para o Visual Studio Code e a JetBrains oferece um plugin para PyCharm que permitem desenvolver código Python em uma IDE, sincronizar o código com um workspace Databricks , executá-lo dentro do workspace e realizar depurações passo a passo usando Databricks Connect. O código desenvolvido pode então ser implantado usando Declarative Automation Bundles como um Job ou pipeline Databricks .
Desenvolvimento de código SQL
A linguagem SQL pode ser usada dentro Databricks Notebook ou como consultas Databricks usando o editor SQL . Em ambos os casos, o desenvolvedor tem acesso a ferramentas como o recurso de autocompletar código e o Genie Code, que leva em consideração o contexto e pode ser usado para gerar código e corrigir problemas. O código desenvolvido pode ser implantado como um Job ou pipeline.
Databricks O fluxo de trabalho também permite que o senhor execute o código SQL armazenado em um arquivo. O senhor pode usar um IDE para criar esses arquivos e upload para o site workspace. Outro uso popular do SQL é no pipeline de engenharia de dados desenvolvido com o dbt (ferramenta de criação de dados). Databricks O fluxo de trabalho suporta a orquestração de projetos dbt.
Desenvolvimento de código Scala
Scala é a linguagem original do Apache Spark™. É uma linguagem poderosa, mas tem uma curva de aprendizado acentuada. Embora o Scala seja uma linguagem compatível com o Databricks Notebook, há algumas limitações relacionadas à forma como as classes e os objetos do Scala são criados e mantidos, o que pode dificultar o desenvolvimento de pipelines complexos. Normalmente, IDEs oferece melhor suporte para o desenvolvimento de Scala código, que pode ser implantado usando JAR tarefa em Databricks fluxo de trabalho.
Próximas etapas
- O Develop on Databricks é um ponto de entrada para a documentação sobre diferentes opções de desenvolvimento para o Databricks.
- A página de ferramentas de desenvolvimento descreve diferentes ferramentas que podem ser usadas para desenvolver localmente para o Databricks, incluindo pacotes de automação declarativa e plugins para IDEs.
- Desenvolver código no Databricks Notebook descreve como desenvolver no Databricks workspace usando o Databricks Notebook.
- Escreva consultas e explore dados no editor SQL. Este artigo descreve como usar o editor Databricks SQL para trabalhar com o código SQL.
- O documento "Desenvolver o pipeline declarativo LakeFlow Spark descreve o processo de desenvolvimento para o pipeline declarativo LakeFlow Spark .
- Databricks Connect permite que o senhor se conecte ao Databricks clustering e execute códigos a partir do seu ambiente local.
- Aprenda a usar o Genie Code para um desenvolvimento mais rápido e para resolver problemas de código.