Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
- Importar código: importe seu próprio código de arquivos ou repositórios Git ou tente um tutorial listado abaixo. A Databricks recomenda aprender usando Notebooks Databricks interativos.
- Execute seu código em um cluster: crie seu próprio cluster ou verifique se você tem permissões para usar um cluster compartilhado. Anexe o bloco de notas ao cluster e execute o bloco de notas.
- Então você pode:
- Trabalhar com conjuntos de dados maiores usando o Apache Spark
- Adicionar visualizações
- Automatize a sua carga de trabalho como uma tarefa
- Use o aprendizado de máquina para analisar seus dados
- Desenvolver em IDEs
- Executar e gerir testes unitários de Python no espaço de trabalho
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
- Tutorial: Carregar e transformar dados usando o Apache Spark DataFrames fornece um passo a passo para ajudá-lo a aprender sobre o Apache Spark DataFrames para preparação e análise de dados.
- Tutorial: Cria e gere tabelas Delta Lake.
- Tutorial: Crie um pipeline de ETL usando a captura de dados de alteração.
Ciência de dados e aprendizado de máquina
- Introdução ao Apache Spark DataFrames para preparação e análise de dados: Tutorial: Carregar e transformar dados usando o Apache Spark DataFrames
- Tutorial: Modelos clássicos de ML de ponta a ponta em Azure Databricks. Para obter exemplos adicionais, consulte Tutoriais de IA e aprendizado de máquina.
- AutoML permite que você comece rapidamente a desenvolver modelos de aprendizado de máquina em seus próprios conjuntos de dados. Sua abordagem de caixa de vidro gera notebooks com o fluxo de trabalho completo de aprendizado de máquina, que você pode clonar, modificar e executar novamente.
- Gerencie o ciclo de vida do modelo no Unity Catalog
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
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.
- Para pequenas cargas de trabalho que exigem apenas nós individuais, os cientistas de dados podem usar computação de nó único para redução de custos.
- Para obter dicas detalhadas, consulte Recomendações de configuração de computação
- Os administradores podem configurar políticas de clusters para simplificar e orientar a criação de clusters.
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_librarymagic instalamy_libraryem 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:
- Formação de scikit-learn e monitorização com MLflow: Tutorial de 10 minutos: aprendizagem automática no Databricks com scikit-learn
- Treinar modelos de deep learning: Deep learning
- Afinação de hiperparâmetros: Afinação de hiperparâmetros com Optuna
- Análise de grafos: Como usar GraphFrames em Azure Databricks
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
- A Databricks Academy oferece cursos individualizados e ministrados por instrutores sobre muitos tópicos.
- Databricks Labs fornece ferramentas para desenvolvimento Python em Databricks, como o plugin pytest e o plugin pylint. Azure Databricks também oferece funcionalidades para ajudar a gerir ficheiros de teste unitário Python no espaço de trabalho.
- Os recursos que suportam a interoperabilidade entre o PySpark e os pandas incluem o seguinte:
- As ferramentas de conectividade de bases de dados em Python e SQL incluem:
- O Conector SQL Databricks para Python permite usar código Python para executar comandos SQL nos recursos do Azure Databricks.
- pyodbc permite-te ligar do teu código Python local através de ODBC aos dados armazenados na casa do lago Databricks.
- Perguntas frequentes e dicas para transferir cargas de trabalho Python para Databricks podem ser encontradas na Base de Conhecimento Databricks.