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 de acordo com os recursos usados para construir pipelines de dados e outras soluções. Por exemplo, os LakeFlow Pipelines são compatíveis com Python e SQL, enquanto os fluxos de trabalho permitem que você crie 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 tem suporte de primeira classe no Databricks. Você pode usá-lo em Notebooks Databricks, LakeFlow Pipelines e fluxos de trabalho, para desenvolver UDFs, e também implantá-lo como um script Python e como wheels.
Ao desenvolver projetos Python no Workspace do Databricks, seja como notebooks ou em arquivos, o Databricks fornece ferramentas como preenchimento de código, navegação, validação de sintaxe, geração de código usando Genie Code, depuração interativa e mais. O código desenvolvido pode ser executado interativamente, implantado como um fluxo de trabalho do Databricks ou LakeFlow Pipelines, ou mesmo como uma função no Unity Catalog. Você pode estruturar seu código dividindo-o em pacotes Python separados que podem ser usados em vários 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.
Recursos adicionais
- 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.
- Desenvolver LakeFlow pipelines descreve o processo de desenvolvimento para LakeFlow pipelines.
- 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.