Compartilhar via


Azure Databricks para desenvolvedores Python

Esta seção fornece um guia para desenvolver notebooks e trabalhos em 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

Debug em blocos de anotações Python

O notebook de exemplo ilustra como usar o depurador 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 acompanhar 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 de variáveis Python enquanto percorre os pontos de interrupção.

Notebook de exemplo do depurador 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 de Python

Código em Python que é executado fora do Databricks geralmente também pode ser executado nele, 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 de Python de máquina única e distribuídas. Para computação de máquina única, você pode usar Python APIs e bibliotecas como de costume; por exemplo, pandas e scikit-learn "simplesmente funcionarão". Para cargas de trabalho de Python distribuídas, o Databricks oferece duas APIs populares prontas para uso: API PySpark e Pandas no Spark.

API do PySpark

PySpark é a API de Python oficial do Apache Spark e combina o poder do Python e do Apache Spark. O PySpark é mais flexível 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 código aberto Koalas agora recomenda mudar para a API do Pandas no Spark. A API do Pandas no Spark está disponível em clusters que executam o Databricks Runtime 10.0 e superior. Para clusters que executam o Databricks Runtime 9.1 LTS ou versões anteriores, use Koalas.

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 os notebooks e pastas Git do Databricks

Databricks notebooks suporte 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 o estado do notebook, reinicie o kernel iPython. Para usuários do Jupyter, a opção "reiniciar kernel" no Jupyter corresponde ao início de uma nova sessão 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 armazém SQL na lista para exibir um menu lateral. Selecione Nova sessão. Isso inicia uma nova sessão, que reinicia o processo de 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 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

Azure Databricks compute 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ç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.

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 de Python personalizadas ou de terceiros adicionais para usar com notebooks e trabalhos.

Visualizações

Azure Databricks Python notebooks 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 as cargas de trabalho do Python agendando ou disparando jobs no Databricks. Os trabalhos podem executar notebooks, scripts Python e arquivos de roda Python.

  • Crie e atualize trabalhos usando a interface do usuário do Databricks ou a API REST do Databricks.
  • O Databricks Python SDK 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 de 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 de Python como scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib e XGBoost. Você também pode instalar bibliotecas personalizadas.

Para operações de machine learning (MLOps), o Azure Databricks fornece um serviço gerenciado para a biblioteca de código aberto MLflow. 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 Disponibilidade de Modelos permitem hospedar modelos como tarefas em lote e de streaming e como pontos de extremidade REST. Para obter mais informações e exemplos, consulte o MLflow no Databricks ou a documentação da API do MLflow para 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 Python código em blocos de anotações 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 Azure Databricks pastas Git.
  • Libraries and Jobs: Você pode criar bibliotecas (como arquivos 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 Instalação de bibliotecas e Tarefas do Lakeflow.
  • Execução de computador remoto: você pode executar o código do IDE local para desenvolvimento e teste interativos. A IDE pode se comunicar com o Azure Databricks para executar o Apache Spark e cálculos grandes em clusters do Azure Databricks. Consulte Databricks Connect.

O Databricks fornece um conjunto de SDKs, incluindo um SDK Python, que dão 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 desenvolvimento locais.

Recursos adicionais

  • Perguntas frequentes e dicas para mover cargas de trabalho Python para o Databricks podem ser encontradas no Databricks Knowledge Base.