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 exemplo Notebook ilustra como usar o depurador Python (pdb) no Databricks Notebook. Para usar o depurador Python, o senhor deve estar executando Databricks Runtime 11.3 LTS ou acima.

Com o Databricks Runtime 12.2 LTS e acima, o senhor pode usar o variable explorer para rastrear o valor atual das variáveis Python na interface do usuário Notebook. O senhor pode usar o explorador de variáveis para observar os valores das variáveis Python à medida que avança 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().

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.

Databricks pode executar cargas de trabalho de uma única máquina e distribuídas Python. Para computação em uma única máquina, o senhor pode usar Python APIs e biblioteca como de costume; por exemplo, Pandas e Scikit-Learn "simplesmente funcionarão". Para cargas de trabalho Python distribuídas, a Databricks oferece duas APIs populares prontas para uso: PySpark e Pandas API on Spark.

API PySpark

O PySpark é a API oficial do Python para o Apache Spark e combina o poder do Python e do Apache Spark. PySpark é mais flexível do que o Pandas API em Spark e oferece amplo suporte e recurso para a funcionalidade de ciência de dados e engenharia, como Spark SQL, transmissão estruturada, MLlib e GraphX.

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.

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 da máquina: O senhor pode executar o código do seu IDE local para desenvolvimento e testes interativos. O IDE pode se comunicar com o Databricks para executar o Apache Spark e grandes cálculos em clusters do Databricks. Consulte Databricks Connect.

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