Partilhar via


Azure Databricks para programadores Python

Esta secção fornece um guia para desenvolver cadernos e trabalhos no Azure Databricks usando a linguagem Python, incluindo tutoriais para fluxos de trabalho e tarefas comuns, e ligações para APIs, bibliotecas e ferramentas.

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.

Engenharia de dados

Ciência de dados e aprendizado de máquina

Debug em Python notebooks

O caderno de exemplo ilustra como usar o depurador Python (pdb) nos cadernos Databricks. Para usar o depurador em Python, deve estar a correr Databricks Runtime 11.3 LTS ou superior.

Com o Databricks Runtime 12.2 LTS e superiores, pode usar o explorador de variáveis variáveis para acompanhar o valor atual das variáveis Python na interface do portátil. Podes usar o explorador de variáveis para observar os valores das variáveis em Python à medida que vais passando pelos pontos de interrupção.

Exemplo de caderno de depuração em Python

Obter portátil

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 Python

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

Os Databricks podem executar tanto cargas de trabalho em Python de máquina única como distribuídas. Para computação de máquina única, pode usar APIs e bibliotecas Python como habitualmente; por exemplo, o pandas e o scikit-learn vão "simplesmente funcionar". Para cargas de trabalho Python distribuídas, o Databricks oferece duas APIs populares logo de fábrica: PySpark e Pandas API no Spark.

PySpark API

PySpark é a API oficial Python para o 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 oferece suporte extenso e funcionalidades para ciência de dados e funcionalidades de engenharia, como Spark SQL, Structured Streaming, MLLib e GraphX.

Pandas API no 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 Databricks Runtime 10.0 e superiores. Para clusters que executam Databricks Runtime 9.1 LTS e inferiores, use Koalas em vez disso.

pandas é um pacote de Python frequentemente utilizado por cientistas de dados para análise e manipulação de dados. No entanto, o pandas não é escalável 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 cadernos 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 por importar um bloco de notas. Depois de ter acesso a um cluster, pode-se anexar um caderno ao cluster e executá-lo.

Gorjeta

Para redefinir o estado do seu notebook, reinicie o kernel do iPython. Para usuários do Jupyter, a opção "reiniciar kernel" no Jupyter corresponde a iniciar uma nova sessão no Databricks. Para reiniciar o kernel num Python notebook, clique no seletor compute na barra de ferramentas do notebook e passe o rato sobre o cluster ou warehouse SQL associado na lista para mostrar um menu lateral. Selecione Nova sessão. Isto inicia uma nova sessão, que reinicia o processo em 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 na versão e colaboração do 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 dos notebooks e a integração com o desenvolvimento do IDE. Comece por clonar 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

Azure Databricks compute fornece gestão 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ç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.

Os clusters Azure Databricks utilizam um Databricks Runtime, que fornece muitas bibliotecas populares prontas a usar, incluindo Apache Spark, Delta Lake, pandas e outras. Também pode instalar bibliotecas Python adicionais de terceiros ou personalizadas para usar com notebooks e tarefas.

  • Comece com as bibliotecas padrão nas notas de versão e compatibilidade da Databricks Runtime. Use o tempo de execução Databricks para Machine Learning para cargas de trabalho de aprendizagem automática. Para obter listas completas de bibliotecas pré-instaladas, consulte Versões e compatibilidade das notas de versão do Databricks Runtime.
  • Personalize o seu ambiente usando bibliotecas de Python Notebook-scoped, que lhe permitem modificar o ambiente do seu notebook ou job com bibliotecas do PyPI ou de outros repositórios. O comando %pip install my_library magic instala my_library em todos os nós do cluster atualmente conectado, sem interferir com outras cargas de trabalho nos cálculos, mantendo o modo de acesso padrão.
  • Instale bibliotecas não Python como Compute-scoped libraries conforme necessário.
  • Para obter mais detalhes, consulte Instalar bibliotecas.

Visualizações

Cadernos do Azure Databricks Python têm suporte incorporado 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

Podes automatizar cargas de trabalho Python como trabalhos agendados ou ativados no Databricks. Os jobs podem executar cadernos, scripts Python e ficheiros de roda Python.

  • Crie e atualize trabalhos usando a interface do utilizador do Databricks ou a API REST do Databricks .
  • O SDK Python Databricks permite criar, editar e eliminar trabalhos de forma programática.
  • 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 caderno, use o campo spark_python_task sob tasks no corpo de um pedido de criação de trabalho.

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, pode usar bibliotecas pré-instaladas no Databricks Runtime for Machine Learning, que incluem ferramentas populares em Python como scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib e XGBoost. Você também pode instalar bibliotecas personalizadas.

Para operações de aprendizagem automática (MLOps), o Azure Databricks fornece um serviço gerido para a biblioteca open source 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 mais informações e exemplos, consulte o MLflow no Databricks ou o MLflow Python API docs.

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

Para além de desenvolver código Python dentro de cadernos Azure Databricks, 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. Veja Azure Databricks repositórios Git.
  • Libraries and Jobs: Pode criar bibliotecas (como ficheiros wheel do Python) externamente e carregá-las no Databricks. Essas bibliotecas podem ser importadas dentro de notebooks Databricks ou podem ser usadas para criar empregos. Consulte Instalar bibliotecas e Trabalhos do Lakeflow.
  • Execução remota da máquina: Você pode executar código do IDE local para desenvolvimento e testes interativos. O IDE pode comunicar com o Azure Databricks para executar Apache Spark e grandes cálculos em clusters Azure Databricks. Consulte Databricks Connect.

O Databricks fornece um conjunto de SDKs, incluindo um SDK Python, 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 Ferramentas de desenvolvimento local.

Recursos adicionais

  • Perguntas frequentes e dicas para transferir cargas de trabalho Python para Databricks podem ser encontradas na Base de Conhecimento Databricks.