Partilhar via


Azure Databricks para desenvolvedores Python

Esta seção fornece um guia para desenvolver blocos de anotações e trabalhos no Azure Databricks usando a linguagem Python. A primeira subseção fornece links para tutoriais para fluxos de trabalho e tarefas comuns. A segunda subseção fornece links para APIs, bibliotecas e ferramentas principais.

Um fluxo de trabalho básico para começar é:

Tutoriais

Os tutoriais abaixo fornecem código de exemplo e blocos de anotações para aprender sobre fluxos de trabalho comuns. Consulte Importar um bloco de notas para obter instruções sobre como importar exemplos de blocos de notas para a sua área de trabalho.

Ciência de dados interativa e aprendizado de máquina

Engenharia de dados

Operações de aprendizagem automática e aprendizagem automática de produção

Depurar em blocos de anotações Python

O bloco de anotações de exemplo ilustra como usar o depurador Python (pdb) em blocos de anotações 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 controlar o valor atual das variáveis Python na interface do usuário do notebook. Você pode usar o explorador de variáveis para observar os valores das variáveis Python à medida que percorre os pontos de interrupção.

Notebook de exemplo do depurador Python

Obter o bloco de notas

Nota

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

APIs de Python

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

O Databricks pode executar cargas de trabalho Python distribuídas e de máquina única. Para computação de máquina única, você pode usar APIs e bibliotecas Python como de costume; Por exemplo, Pandas e Scikit-Learn vão "simplesmente funcionar". Para cargas de trabalho Python distribuídas, o Databricks oferece duas APIs populares prontas para uso: PySpark e Pandas API on Spark.

PySpark API

PySpark é a API oficial do Python para Apache Spark e combina o poder do Python e do Apache Spark. O PySpark é mais flexível do que a API Pandas no Spark e fornece suporte e recursos extensivos para funcionalidade de ciência de dados e engenharia, como Spark SQL, Structured Streaming, MLLib e GraphX.

API do Pandas no Apache Spark

Nota

O projeto de código aberto Koalas agora recomenda mudar para a API Pandas no Spark. A API Pandas no Spark está disponível em clusters que executam o Databricks Runtime 10.0 (EoS) e superior. Para clusters que executam o Databricks Runtime 9.1 LTS e inferior, use Koalas em vez disso.

pandas é um pacote Python comumente usado por cientistas de dados para análise e manipulação de dados. No entanto, os pandas não se expandem para big data. A API do Pandas no Spark preenche essa lacuna fornecendo APIs equivalentes a pandas que funcionam no Apache Spark. Esta API de código aberto é uma escolha ideal para cientistas de dados que estão familiarizados com pandas, mas não com o Apache Spark.

Gerencie código com blocos de anotações e pastas Databricks Git

Os notebooks Databricks suportam Python. Esses notebooks fornecem funcionalidade semelhante à do Jupyter, mas com adições como visualizações integradas usando big data, integrações Apache Spark para depuração e monitoramento de desempenho e integrações MLflow para rastrear experimentos de aprendizado de máquina. Comece importando um bloco de anotações. Depois de ter acesso a um cluster, você pode anexar um bloco de anotações ao cluster e executá-lo.

Gorjeta

Para redefinir completamente o estado do seu notebook, pode ser útil reiniciar o kernel do iPython. Para usuários do Jupyter, a opção "restart kernel" no Jupyter corresponde a separar e reconectar um notebook no Databricks. Para reiniciar o kernel em um bloco de anotações Python, clique no seletor de computação na barra de ferramentas do bloco de anotações e passe o mouse sobre o cluster anexado ou o SQL warehouse na lista para exibir um menu lateral. Selecione Desanexar ou reanexar. Isso desanexa o bloco de anotações do cluster e o reconecta, o que reinicia o processo do Python.

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

Clusters e bibliotecas

A computação do Azure Databricks fornece gerenciamento de computação para clusters de qualquer tamanho: de 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çam a trabalhar criando um cluster ou usando um cluster compartilhado existente. Depois de ter acesso a um cluster, você pode anexar um bloco de anotações ao cluster ou executar um trabalho no cluster.

  • Para pequenas cargas de trabalho que exigem apenas nós únicos, os cientistas de dados podem usar a computação de nó único para economia de custos.
  • Para obter dicas detalhadas, consulte Recomendações de configuração de computação
  • Os administradores podem configurar políticas de cluster para simplificar e orientar a criação de clusters.

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 personalizadas ou de terceiros adicionais para usar com blocos de anotações e trabalhos.

  • Comece com as bibliotecas padrão nas notas de versão, versões e compatibilidade do Databricks Runtime. Use o Databricks Runtime for Machine Learning para cargas de trabalho de aprendizado de máquina. Para obter listas completas de bibliotecas pré-instaladas, consulte Versões e compatibilidade das notas de versão do Databricks Runtime.
  • Personalize seu ambiente usando bibliotecas Python com escopo de notebook, que permitem modificar seu notebook ou ambiente de trabalho com bibliotecas do PyPI ou de outros repositórios. O %pip install my_library comando magic é my_library instalado em todos os nós do cluster conectado no momento, mas não interfere com outras cargas de trabalho em clusters compartilhados.
  • Instale bibliotecas não-Python como bibliotecas de cluster conforme necessário.
  • Para obter mais detalhes, consulte Bibliotecas.

Visualizações

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

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

Tarefas

Você pode automatizar cargas de trabalho Python como trabalhos agendados ou acionados no Databricks. Os trabalhos podem executar blocos de anotações, scripts Python e arquivos de roda Python.

  • Para obter detalhes sobre como criar um trabalho por meio da interface do usuário, consulte Configurar e editar trabalhos do Databricks.
  • Os SDKs do Databricks permitem criar, editar e excluir trabalhos programaticamente.
  • A CLI do Databricks fornece uma interface de linha de comando conveniente para automatizar trabalhos.

Gorjeta

Para agendar um script Python em vez de um bloco de anotações, use o spark_python_task campo abaixo tasks no corpo de uma solicitação de trabalho de criação.

Aprendizagem automática

O Databricks suporta uma ampla variedade de cargas de trabalho de aprendizado de máquina (ML), incluindo ML tradicional em dados tabulares, aprendizado profundo para visão computacional e processamento de linguagem natural, sistemas de recomendação, análise de gráficos e muito mais. Para obter informações gerais sobre aprendizado de máquina no Databricks, consulte IA e aprendizado de máquina no Databricks.

Para algoritmos de ML, você pode usar bibliotecas pré-instaladas no Databricks Runtime for 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 operações de aprendizado de máquina (MLOps), o Azure Databricks fornece um serviço gerenciado para a biblioteca de código aberto MLflow. Com o MLflow Tracking, você pode registrar o desenvolvimento de modelos e salvar modelos em formatos reutilizáveis. Você pode usar o MLflow Model Registry para gerenciar e automatizar a promoção de modelos para produção. Jobs e Model Serving permitem hospedar modelos como trabalhos em lote e streaming e como pontos de extremidade REST. Para obter mais informações e exemplos, consulte o gerenciamento do ciclo de vida do ML usando MLflow ou os documentos da API Python do MLflow.

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

IDEs, ferramentas de desenvolvedor e SDKs

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

  • Código: Você pode sincronizar o código usando o Git. Consulte Integração do Git para pastas do Databricks Git.
  • Bibliotecas e Trabalhos: Você pode criar bibliotecas (como arquivos de roda Python) externamente e carregá-las no Databricks. Essas bibliotecas podem ser importadas dentro de notebooks Databricks ou podem ser usadas para criar empregos. Consulte Bibliotecas e Agendar e orquestrar fluxos de trabalho.
  • Execução remota da máquina: Você pode executar código do IDE local para desenvolvimento e testes interativos. O IDE pode se comunicar com o Azure Databricks para executar o Apache Spark e grandes cálculos em clusters do Azure Databricks. Consulte Databricks Connect.

O Databricks fornece um conjunto de SDKs que suportam 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 espaço de trabalho, cargas de trabalho e trabalhos e muito mais. Consulte os SDKs do Databricks.

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

Recursos adicionais