Pular para o conteúdo principal

Databricks para desenvolvedores Python

Esta seção fornece um guia para o desenvolvimento do Notebook e do Job em Databricks usando a linguagem Python, incluindo tutorial para fluxo de trabalho e tarefa comuns e links para APIs, biblioteca e ferramentas.

Para começar:

tutorial

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

Engenharia de dados

ciência de dados e aprendizado de máquina

Depurar em Python Notebook

O Notebook de exemplo ilustra como usar o depurador Python (pdb) no Notebook Databricks. 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 do Python na UI do Notebook. O senhor pode usar o explorador de variáveis para observar os valores das variáveis Python à medida que passa pelos pontos de interrupção.

Python exemplo de depurador Notebook

Open notebook in new tab
nota

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

APIs do Python

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

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 do 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

nota

O projeto de código aberto do Koalas agora recomenda a mudança para a API do Pandas no Spark. O Pandas API no Spark está disponível no clustering que executa Databricks Runtime 10.0 (EoS) e acima. Para clustering que executa Databricks Runtime 9.1 LTS e abaixo, use Koalas em vez disso.

Pandas é um pacote Python comumente usado por data scientists para análise e manipulação de dados. No entanto, Pandas não escala para big data. A API do Pandas no Spark preenche essa lacuna fornecendo APIs equivalentes ao Pandas que funcionam no Apache Spark. Este código aberto API é uma escolha ideal para data scientists que está familiarizado com Pandas, mas não com Apache Spark.

Gerenciar código com o Notebook e Databricks Git pastas

Databricks Suporte para Python notebook. Esses notebooks oferecem funcionalidade semelhante à do Jupyter, mas com acréscimos, como visualizações integradas usando big data, integrações Apache Spark para monitoramento de depuração e desempenho e integrações MLflow para acompanhamento de experimentos de aprendizado de máquina. Comece importando um Notebook. Depois de ter acesso a um cluster, o senhor pode anexar um Notebook ao cluster e executar o Notebook.

dica

Para redefinir o estado de seu Notebook, reinicie o kernel do iPython. Para os usuários do Jupyter, a opção "restart kernel" no Jupyter corresponde a desanexar e reanexar um Notebook em Databricks. Para reiniciar o kernel em um Notebook Python, clique no seletorcompute na barra de ferramentas do Notebook e passe o mouse sobre o clustering anexado ou SQL warehouse na lista para exibir um menu lateral. Selecione Desanexar & e reconectar . Isso desconecta o Notebook do clustering e o reconecta, o que reinicia o processo Python.

Databricks Git permitem que os usuários sincronizem o Notebook e outros arquivos com os Git repositórios do. Databricks Git 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 o site Databricks, a visualização de versões anteriores do Notebook e a integração com o desenvolvimento do IDE. Obtenha o começar 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.

agrupamento e biblioteca

Databricks compute oferece o gerenciamento compute para clustering de qualquer tamanho: desde clustering de nó único até clustering de grande porte. O senhor pode personalizar o hardware de clustering e a biblioteca de acordo com suas necessidades. data scientists geralmente começa a trabalhar criando um clustering ou usando um clustering compartilhado existente. Quando o senhor tiver acesso a um cluster, poderá anexar um Notebook ao cluster ou executar um Job no cluster.

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

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:

Empregos

O senhor pode automatizar as cargas de trabalho do Python como um trabalho programado ou acionado em Databricks. Os trabalhos podem executar o Notebook, Python scripts e Python wheel arquivos.

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.

Aprendizagem automática

Databricks oferece suporte a uma ampla variedade de cargas de trabalho de aprendizado de máquina (ML), incluindo o tradicional ML em dados tabulares, aprendizado profundo para visão computacional e processamento de linguagem natural, sistemas de recomendação, análise gráfica e muito mais. Para obter informações gerais sobre aprendizado de máquina em Databricks, consulte AI e aprendizado de máquina em Databricks.

Para os algoritmos do ML, o senhor pode usar a biblioteca pré-instalada no Databricks Runtime for Machine Learning, que inclui ferramentas populares do Python como scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib, e XGBoost. O senhor também pode instalar uma biblioteca personalizada.

Para operações de aprendizado de máquina (MLOps), a Databricks fornece um serviço gerenciado para a biblioteca de código aberto MLflow. Com o MLflow acompanhamento, 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 MLflow para o agente gen AI e o ciclo de vida do modelo ML ou os documentosMLflow Python API.

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

IDEs, ferramentas de desenvolvimento 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 Integração do Git para 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. Veja biblioteca e Overview of orquestração em Databricks.
  • 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 Databricks para executar Apache Spark e grandes cálculos em Databricks clustering. Consulte Databricks Connect.

A Databricks fornece um conjunto de SDKs, incluindo um SDK Python, que oferece suporte à automação e à integração com ferramentas externas. O senhor pode usar os SDKs do Databricks para gerenciar recursos como clustering e biblioteca, código e outros objetos do workspace, cargas de trabalho e Job, entre outros. Consulte os SDKs da Databricks.

Para obter mais informações sobre IDEs, ferramentas de desenvolvedor e SDKs, consulte Ferramentas de desenvolvimento local.

Recurso adicional