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 de recurso usados para criar pipeline de dados e outras soluções. Por exemplo, o DLT suporta Python e SQL, enquanto o fluxo de trabalho permite que o senhor crie pipeline 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
O senhor pode desenvolver projetos de dados e pipeline usando o site Databricks workspace ou um IDE (ambiente de desenvolvimento integrado) em seu computador local, mas é recomendável iniciar novos projetos no site Databricks workspace . O site workspace pode ser acessado por meio de um navegador da Web, fornece acesso fácil aos dados em Unity Catalog e oferece suporte a recursos avançados de depuração e a recursos como o Databricks Assistant.
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 site Databricks Assistant integrado e com reconhecimento de contexto pode acelerar o desenvolvimento e ajudar a corrigir 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 na Databricks. O senhor pode usá-lo no Databricks Notebook, DLT e fluxo de trabalho, para desenvolver UDFs, e também implantá-lo como um script Python e como rodas.
Ao desenvolver projetos Python no Databricks workspace, seja como Notebook ou em arquivos, o Databricks oferece ferramentas como autocompletar código, navegação, validação de sintaxe, geração de código usando Databricks Assistant, depuração interativa e muito mais. O código desenvolvido pode ser executado interativamente, implantado como um fluxo de trabalho do Databricks ou um pipeline DLT, ou até mesmo como uma função no Unity Catalog. O senhor pode estruturar seu código dividindo-o em Python pacotes separados que podem ser usados em vários pipelines ou trabalhos.
Databricks fornece uma extensão para o Visual Studio Code e a JetBrains oferece um plugin para PyCharm que permite desenvolver código Python em um IDE, sincronizar código para um Databricks workspace, executá-lo dentro do workspace e realizar a depuração passo a passo usando o Databricks Connect. O código desenvolvido pode então ser implantado usando Databricks ativo Bundles como um Databricks Job ou pipeline.
Desenvolvimento de código SQL
A linguagem SQL pode ser usada no Databricks Notebook ou como Databricks consultas usando o editor SQL. Em ambos os casos, o desenvolvedor tem acesso a ferramentas como o recurso de autocompletar código e o Databricks Assistant com reconhecimento de contexto, que pode ser usado para geração de código e correção de 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 do desenvolvedor descreve diferentes ferramentas de desenvolvimento que podem ser usadas para desenvolver localmente para Databricks, incluindo Databricks ativo Bundles 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 pipeline de desenvolvimento de DLT descreve o processo de desenvolvimento de DLT.
- Databricks Connect permite que o senhor se conecte ao Databricks clustering e execute códigos a partir do seu ambiente local.
- Saiba como usar o Databricks Assistant para um desenvolvimento mais rápido e para resolver problemas de código.