Databricks para desenvolvedores de Python

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

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

Tutoriais

O tutorial abaixo fornece código de exemplo e Notebook para aprender sobre o fluxo de trabalho comum. Consulte Importar um Notebook para obter instruções sobre como importar exemplos Notebook para sua workspace.

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

Depurar em notebooks do 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.2 ouacima.

Com o Databricks Runtime 12.1e acima, você pode usar o explorador de variáveis para rastrear o valor atual das variáveis Python na interface do usuário Notebook . Você pode usar o explorador de variáveis para observar os valores das variáveis do Python enquanto passa pelos pontos de interrupção.

Notebook de exemplo de depurador Python

Abra o bloco de anotações em outra guia

Observação

breakpoint() não é compatível com o IPython e, portanto, não funciona em notebooks do Databricks. Você pode usar import pdb; pdb.set_trace() em vez de breakpoint().

Referência

As subseções abaixo enumeram características essenciais e dicas para auxiliá-lo a começar a desenvolver no Databricks com Python.

APIs do Python

O código Python que é executado fora do Databricks geralmente pode ser executado dentro do Databricks e vice-versa. Se o senhor já tiver um código, basta importá-lo para a Databricks para começar. Para obter detalhes, consulte gerenciar o código com as pastas Git do Notebook e do Databricks abaixo.

O Databricks pode executar cargas de trabalho em Python em ambientes tanto de máquina única quanto distribuída. Para computação em máquina única, você pode usar as APIs e bibliotecas Python como de costume; por exemplo, pandas e scikit-learn funcionarão sem problemas.Para cargas de trabalho distribuídas do Python, o Databricks oferece duas APIs populares prontas para uso: a API do Pandas no Spark e o PySpark.

API do Pandas no Spark

Observação

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 (sem suporte) e acima. Para clusters que executam o Databricks Runtime 9.1 LTS e abaixo, use Koalas .

pandas é um pacote Python frequentemente usado por cientistas de dados para análise e manipulação de dados. No entanto, o pandas não se expande 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 familiarizados com pandas, mas não com Apache Spark.

API PySpark

PySpark é a API oficial do Python para Apache Spark. Essa API oferece mais flexibilidade do que a API do Pandas no Spark. Esses links fornecem uma introdução e referência para o PySpark.

gerenciar código com pastas Git do Notebook e do Databricks

Databricks Notebook oferece suporte a Python. Esses Notebook 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 acompanhamento de experimentos machine learning . Comece importando um Notebook. Depois de ter acesso a um clusters, você pode anexar um Notebook aos clusters e executar o Notebook.

Dica

Para Reset completamente o estado do seu Notebook, pode ser útil reiniciar o kernel do iPython. Para usuários do Jupyter, a opção “reiniciar kernel” no Jupyter corresponde a desanexar e reanexar um Notebook no Databricks. Para reiniciar o kernel em um Python Notebook, clique no seletorcompute na barra de ferramentas Notebook e passe o mouse sobre os clusters anexados ou SQL warehouse na lista para exibir um menu lateral. Selecione Desanexar e anexar novamente. Isso desconecta o Notebook de seus clusters e o reanexa, o que reinicia o processo do Python.

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

Clusters e bibliotecas

Databricks compute fornecem gerenciamento de computação para clusters de qualquer tamanho: desde clusters de nó único até clusters grandes. O senhor pode personalizar o hardware e a biblioteca dos clusters de acordo com suas necessidades. O cientista de dados geralmente começa a trabalhar criando um cluster ou usando um cluster compartilhado existente. Depois de ter acesso aos clusters, o senhor pode anexar um Notebook aos clusters ou executar um Job nos clusters.

Os clusters 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 cadernos de notas e trabalhos.

Visualizações

Databricks Python Notebook tem suporte integrado para muitos tipos de visualizações. Você também pode usar 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

O senhor pode automatizar as cargas de trabalho do Python como programadas ou acionadas. Crie e execute Databricks Jobs em Databricks. Os trabalhos podem executar o Notebook, Python scripts e Python wheel arquivos.

  • Para obter detalhes sobre como criar um Job por meio da interface do usuário, consulte Criar um Job.

  • 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 Job.

Dica

Para agendar um script Python em vez de um notebook, use o campo spark_python_task em tasks no corpo de uma solicitação de criação de jobs.

Machine learning

Databricks oferece suporte a uma ampla variedade de cargas de trabalho machine learning (ML), incluindo ML tradicional em dados tabulares, aprendizagem profunda para visão computacional e processamento de linguagem natural, sistemas de recomendação, gráficos analíticos e muito mais. Para obter informações gerais sobre machine learning no Databricks, consulte IA e aprendizado de máquina no Databricks.

Para algoritmos de ML, você pode usar a biblioteca pré-instalada no Databricks Runtime for Machine Learning, que inclui ferramentas Python populares, como Scikit-Learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib e XGBoost. Você também pode instalar uma biblioteca personalizada.

Para operações machine learning (MLOps), a Databricks fornece um serviço gerenciado para a biblioteca de código aberto MLflow. Com o acompanhamento do MLflow, o senhor pode registrar o desenvolvimento de modelos e salvá-los em formatos reutilizáveis. O senhor pode usar o MLflow Model Registry para gerenciar e automatizar a promoção de modelos para produção. O Jobs permite hospedar modelos como lotes e transmissão Job. Para obter mais informações e exemplos, consulte o gerenciamento do ciclo de vida do ML usando o MLflow ou os documentos da API Python do MLflow.

Para começar com cargas de trabalho comuns de machine learning, consulte as seguintes páginas:

IDEs, ferramentas de desenvolvedor e SDKs

Além de desenvolver código Python dentro dos notebooks do Databricks, você também pode desenvolver externamente usando ambientes de desenvolvimento integrados (IDEs) como PyCharm, Jupyter e Visual Studio Code.Para sincronizar o trabalho entre ambientes de desenvolvimento externo e Databricks, existem várias opções:

  • Código: O senhor pode sincronizar o código usando o Git. Consulte a integração do Git com as pastas Git do Databricks.

  • biblioteca e Jobs: O senhor pode criar biblioteca (como arquivos Python wheel ) externamente e upload para Databricks. Essas bibliotecas podem ser importadas para o Databricks Notebook ou podem ser usadas para criar trabalhos. Consulte biblioteca e Create e execução Databricks Jobs.

  • Execução remota de máquina: você pode executar código de seu IDE local para desenvolvimento e teste interativos. O IDE pode se comunicar com o Databricks para executar o Apache Spark e grandes cálculos em clusters do Databricks. Para aprender a usar o Databricks Connect para criar essa conexão, consulte Usar IDEs com Databricks.

O Databricks fornece um conjunto de SDKs que suportam automação e integração com ferramentas externas. Os SDKs do Databricks podem ser usados para administrar recursos como clusters e bibliotecas, código e outros objetos no workspace, cargas de trabalho e tarefas, e muito mais.Consulte os SDKs do Databricks.

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

Recursos adicionais