Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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:
- Importar código: importe código próprio de arquivos ou repositórios Git ou tente seguir um tutorial listado abaixo. O Databricks recomenda aprender a usar notebooks interativos do Databricks.
- Execute seu código em um cluster: crie um cluster próprio ou verifique se você tem permissões para usar um cluster compartilhado. Anexe seu notebook ao cluster e execute o notebook.
- Então você pode:
- Trabalhar com conjuntos de dados maiores usando o Apache Spark
- Adicionar Visualizações
- Automatizar sua carga de trabalho como uma tarefa
- Usar o aprendizado de máquina para analisar seus dados
- Desenvolver em IDEs
- Executar e gerenciar testes de unidade Python no espaço de trabalho
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
- Tutorial: carregar e transformar dados no DataFrames do Apache Spark fornece um passo a passo para ajudá-lo a aprender sobre o DataFrames do Apache Spark para preparar e analisar os dados.
- Tutorial: Criar e gerenciar tabelas do Delta Lake.
- Tutorial: Criar um pipeline de ETL usando a captura de dados de alteração.
Ciência de dados e machine learning
- Introdução ao DataFrames do Apache Spark para preparar e analisar dados: Tutorial: carregar e transformar dados usando o DataFrames do Apache Spark
- Tutorial: modelos de ML clássicos de ponta a ponta no Azure Databricks. Para obter exemplos adicionais, consulte os tutoriais de IA e machine learning.
- O AutoML permite que você comece rapidamente a desenvolver modelos de machine learning em seus próprios conjuntos de dados. A abordagem de transparência do código usada por ele gera notebooks com o fluxo de trabalho completo de machine learning, que você pode clonar, modificar e executar novamente.
- Gerenciar o ciclo de vida do modelo no Catálogo do Unity
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
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.
- Para cargas de trabalho pequenas que requerem apenas um único nó, os cientistas de dados podem usar a computação de nó único para reduzir os 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 do 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.
- Comece com as bibliotecas padrão nas notas de versão e compatibilidade do Databricks Runtime. Use Databricks Runtime para Aprendizado de Máquina para cargas de trabalho de aprendizado de máquina. Para obter listas completas de bibliotecas pré-instaladas, veja Notas de versão do Databricks Runtime, versões e compatibilidade.
- Personalize seu ambiente usando bibliotecas de Python no escopo do Notebook, que permitem modificar seu notebook ou ambiente de trabalho com bibliotecas de PyPI ou outros repositórios. O comando magic
%pip install my_libraryinstalamy_libraryem todos os nós no cluster atualmente anexado, mas não interfere em outras cargas de trabalho em computação com o modo de acesso padrão. - Instale bibliotecas não Python como bibliotecas com escopo Compute conforme necessário.
- Para obter mais detalhes, consulte Instalar bibliotecas.
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:
- Treinando scikit-learn e rastreamento com MLflow: tutorial de 10 minutos: aprendizado de máquina no Databricks com scikit-learn
- Treinamento de modelos de aprendizado profundo: Aprendizado profundo
- Ajuste de hiperparâmetro: ajuste de hiperparâmetro com Optuna
- Análise de grafo: Como usar o GraphFrames no Azure Databricks
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
- A Databricks Academy oferece cursos individuais e orientados por instrutores sobre muitos tópicos.
- Databricks Labs fornece ferramentas para Python desenvolvimento no Databricks, como o plug-in pytest e o plug-in pylint. Azure Databricks também oferece recursos para ajudar a gerenciar arquivos de teste de unidade Python no ambiente de trabalho.
- Os recursos que dão suporte à interoperabilidade entre pySpark e pandas incluem o seguinte:
- Python e ferramentas de conectividade do banco de dados SQL incluem:
- O Databricks SQL Connector for Python permite que você use Python código para executar comandos SQL em recursos Azure Databricks.
- pyodbc permite que você se conecte do código de Python local por meio do ODBC aos dados armazenados no databricks lakehouse.
- Perguntas frequentes e dicas para mover cargas de trabalho Python para o Databricks podem ser encontradas no Databricks Knowledge Base.