Compartilhar via


Azure Databricks para desenvolvedores Python

Esta seção fornece um guia para o desenvolvimento de notebooks e trabalhos no Azure Databricks usando a linguagem Python, incluindo tutoriais para fluxos de trabalho e tarefas comuns e links para APIs, bibliotecas e ferramentas.

Para começar:

Tutoriais

Os tutoriais abaixo fornecem código de exemplo e notebooks para você saber mais sobre fluxos de trabalho comuns. Confira Importar um notebook para obter instruções sobre como importar exemplos de notebook para seu workspace.

Engenharia de dados

Ciência de dados e machine learning

Depurar em notebooks do Python

O notebook de exemplo ilustra como usar o depurador do Python (pdb) em notebooks do Databricks. Para usar o depurador Python, você deve estar executando o Databricks Runtime 11.3 LTS ou superior.

Com o Databricks Runtime 12.2 LTS e superior, você pode usar o explorador de variáveis para rastrear o valor atual das variáveis Python na interface do notebook. Você pode usar o gerenciador de variáveis para observar os valores das variáveis do Python à medida que percorre os pontos de interrupção.

Notebook de exemplo do depurador de Python

Obter notebook

Observação

breakpoint()não tem suporte no IPython e, portanto, não funciona em notebooks do Databricks. Você pode usar import pdb; pdb.set_trace() em vez de breakpoint().

APIs do Python

O código Python que é executado fora do Databricks geralmente pode ser executado no Databricks e vice-versa. Se você tiver o código existente, basta importá-lo para o Databricks para começar. Consulte Gerenciar código com notebooks e pastas Git do Databricks abaixo para obter detalhes.

O Databricks pode executar cargas de trabalho do Python distribuídas e de computador único. Para computação de computador único, você pode usar APIs e bibliotecas do Python como de costume; por exemplo, pandas e scikit-learn "simplesmente funcionarão". Para cargas de trabalho distribuídas do Python, o Databricks oferece duas APIs populares: o PySpark e a API do Pandas no Spark.

API do PySpark

PySpark é a API oficial do Python para Apache Spark e combina o poder do Python e do Apache Spark. O PySpark tem mais flexibilidade do que a API do Pandas no Spark e fornece amplo suporte e recursos para funcionalidades de ciência e engenharia de dados, como Spark SQL, Streaming Estruturado, MLLib e GraphX.

API do Pandas no Spark

Observação

O projeto de software livre do Koalas agora recomenda mudar para a do API do pandas no Spark. A API do Pandas no Spark está disponível nos clusters que executam o Databricks Runtime 10.0 (EoS) e posterior. Para clusters que executam o Databricks Runtime 9.1 LTS e inferiores, use o Koalas.

O pandas é um pacote Python comumente usado por cientistas de dados para análise e manipulação de dados. No entanto, o Pandas não escala horizontalmente para Big Data. A API do Pandas no Spark preenche esse espaço fornecendo APIs equivalentes ao pandas que funcionam no Apache Spark. Essa API de código aberto é uma opção ideal para cientistas de dados que estão familiarizados com o pandas, mas não com o Apache Spark.

Gerenciar o código com notebooks e pastas Git do Databricks

Os notebooks do Databricks dão suporte ao Python. Esses notebooks fornecem funcionalidade semelhante à do Jupyter, mas com adições como visualizações internas usando Big Data, integrações do Apache Spark para depuração e monitoramento de desempenho e integrações do MLflow para acompanhar experimentos de machine learning. Comece a trabalhar importando um notebook. Depois de ter acesso a um cluster, você pode anexar um notebook ao cluster e executar o notebook.

Dica

Para redefinir completamente o estado do notebook, pode ser útil reiniciar o kernel iPython. Para usuários do Jupyter, a opção "reiniciar kernel" no Jupyter corresponde à desanexação e à posterior reanexação de um notebook no Databricks. Para reiniciar o kernel em um notebook Python, clique no seletor de computação na barra de ferramentas do notebook e passe o mouse sobre o cluster anexado ou o SQL warehouse na lista para exibir um menu lateral. Selecione Desanexar e anexar novamente. Isso desanexa o notebook do cluster e o reanexa, o que reinicia o processo do Python.

As Pastas Git do Databricks permitem que os usuários sincronizem notebooks e outros arquivos com os repositórios Git. As pastas Git do Databricks ajudam no controle de versão e colaboração de código e podem simplificar a importação de um repositório completo de código para o Azure Databricks, exibindo versões anteriores do notebook e integrando-se ao desenvolvimento do IDE. Comece a trabalhar clonando um repositório Git remoto. Em seguida, você pode abrir ou criar notebooks com o clone do repositório, anexar o notebook a um cluster e executar o notebook.

Clusters e bibliotecas

A Computação do Azure Databricks fornece gerenciamento de computação para clusters de qualquer tamanho: desde clusters de nó único até clusters grandes. Você pode personalizar o hardware e as bibliotecas do cluster de acordo com suas necessidades. Os cientistas de dados geralmente começarão a trabalhar criando um cluster ou usando um cluster compartilhado existente. Depois de ter acesso a um cluster, você pode anexar um notebook ao cluster ou executar um trabalho no cluster.

Os clusters do Azure Databricks usam um Databricks Runtime, que fornece muitas bibliotecas populares prontas para uso, incluindo Apache Spark, Delta Lake, pandas e muito mais. Você também pode instalar bibliotecas Python adicionais personalizadas ou de terceiros para usar com notebooks e trabalhos.

Visualizações

Os notebooks Python do Azure Databricks têm suporte interno para muitos tipos de visualizações. Você também pode usar as visualizações herdadas.

Você também pode visualizar dados usando bibliotecas de terceiros; algumas são pré-instaladas no Databricks Runtime, mas você também pode instalar bibliotecas personalizadas. As opções populares incluem:

Trabalhos

Você pode automatizar cargas de trabalho do Python como Trabalhos agendados ou disparados no Databricks. Os trabalhos podem executar notebooks, scripts Python e arquivos do pacote wheel do Python.

  • Crie e atualize trabalhos usando a interface do usuário do Databricks ou a API REST do Databricks.
  • O SDK do Databricks Python permite que você crie, edite e exclua trabalhos programaticamente.
  • A CLI do Databricks fornece uma interface de linha de comando conveniente para automatizar trabalhos.

Dica

Para agendar um script Python em vez de um notebook, use o campo spark_python_task em tasks no corpo de uma solicitação de criação de trabalho.

Aprendizado de máquina

O Databricks dá suporte a uma ampla variedade de cargas de trabalho de ML (machine learning), incluindo ML tradicional em dados tabulares, aprendizado profundo para pesquisa visual computacional e processamento de linguagem natural, sistemas de recomendação, análise de grafo e muito mais. Para obter informações gerais sobre aprendizado de máquina no Databricks, confira IA e aprendizado de máquina no Databricks.

Para algoritmos de ML, você pode usar bibliotecas pré-instaladas no Databricks Runtime para Machine Learning, que inclui ferramentas populares do Python, como scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib e XGBoost. Você também pode instalar bibliotecas personalizadas.

Para MLOps (operações de aprendizado de máquina), o Azure Databricks fornece um serviço gerenciado para o MLFlow da biblioteca código aberto. Com Acompanhamento do MLflow, você pode registrar o desenvolvimento de modelos e salvá-los em formatos reutilizáveis. Você pode usar o Registro de Modelos do MLflow para gerenciar e automatizar a promoção de modelos para produção. Trabalhos e Serviço de Modelo permitem hospedar modelos como lotes e trabalhos de streaming como pontos de extremidade REST. Para obter mais informações e exemplos, consulte o gerenciamento do ciclo de vida de ML usando o do MLflow ou os documentos da API do MLflow Python.

Para começar a usar cargas de trabalho comuns de aprendizado de máquina, consulte as seguintes páginas:

IDEs, ferramentas para desenvolvedores e SDKs

Além de desenvolver código Python em notebooks do Azure Databricks, você pode desenvolver externamente usando IDEs (ambientes de desenvolvimento integrados), como PyCharm, Jupyter e Visual Studio Code. Para sincronizar o trabalho entre ambientes de desenvolvimento externos e o Databricks, há várias opções:

  • Código: você pode sincronizar o código usando o Git. Consulte integração do Git com as pastas Git do Databricks.
  • Bibliotecas e Trabalhos: você pode criar bibliotecas (como arquivos do pacote wheel do Python) externamente e carregá-las no Databricks. Essas bibliotecas podem ser importadas em notebooks do Databricks ou podem ser usadas para criar trabalhos. Consulte Bibliotecas e Agendar e orquestrar fluxos de trabalho.
  • Execução de computador remoto: você pode executar o código do IDE local para desenvolvimento e teste interativos. O IDE pode se comunicar com o Azure Databricks para executar grandes computações em clusters do Azure Databricks. Consulte Databricks Connect.

O Databricks fornece um conjunto de SDKs, incluindo um SDK do Python, que dá suporte à automação e à integração com ferramentas externas. Você pode usar os SDKs do Databricks para gerenciar recursos como clusters e bibliotecas, código e outros objetos de workspace, cargas de trabalho, trabalhos e muito mais. Confira os SDKs do Databricks.

Para obter mais informações sobre IDEs, ferramentas de desenvolvedor e SDKs, consulte Ferramentas de desenvolvedor.

Recursos adicionais