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:
- Importar código: Importe seu próprio código de arquivos ou repositórios Git ou tente um tutorial listado abaixo. Databricks recomenda o aprendizado usando o site interativo Databricks Notebook.
- executar seu código em um clustering: Crie um cluster próprio ou garanta que o senhor tenha permissões para usar um cluster compartilhado. Anexe seu Notebook ao clustering e execute o Notebook.
- Então você pode:
- Trabalhar com conjuntos de dados maiores usando o Apache Spark
- Adicionar visualizações
- Automatize sua carga de trabalho como um trabalho
- Use o aprendizado de máquina para analisar seus dados
- Desenvolver em IDEs
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
- tutorial: Carga e transformação de dados usando Apache Spark DataFramesfornece um passo a passo para ajudá-lo a aprender sobre Apache Spark DataFrames para preparação e análise de dados.
- Tutorial: Delta Lake.
- tutorial: executando seu primeiro DLT pipeline.
ciência de dados e aprendizado de máquina
- Começando com Apache Spark DataFrames para preparação e análise de dados: tutorial: Load and transformation de dados using Apache Spark DataFrames
- tutorial: Modelos ML de ponta a ponta em Databricks. Para obter exemplos adicionais, consulte o tutorial: Comece a usar AI e aprendizado de máquina.
- AutoML permite que o senhor comece rapidamente a desenvolver modelos de aprendizado de máquina em seu próprio conjunto de dados. Sua abordagem glass-box gera o Notebook com o fluxo de trabalho completo de aprendizado de máquina, que pode ser clonado, modificado e executado novamente.
- Gerenciar o ciclo de vida do modelo no Unity Catalog
- Tutorial: Modelos ML de ponta a ponta em Databricks
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
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
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.
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.
- Para cargas de trabalho pequenas que exigem apenas um único nó, o site data scientists pode usar o nó único compute para economizar.
- Para obter dicas detalhadas, consulte recomendações de configuração de computação
- Os administradores podem configurar a política de cluster para simplificar e orientar a criação de 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.
- O senhor pode acessar a default biblioteca em Databricks Runtime notas sobre a versão, versões e compatibilidade. Use o Databricks Runtime for Machine Learning para cargas de trabalho de aprendizado de máquina. Para obter listas completas de bibliotecas pré-instaladas, consulte Databricks Runtime notas sobre versões e compatibilidade.
- Personalize seu ambiente usando Notebook-scoped Pythonbiblioteca, que permite modificar o ambiente do Notebook ou do Job com a biblioteca de PyPI ou de outros repositórios. O comando mágico
%pip install my_library
instalamy_library
em todos os nós do cluster atualmente conectado, mas não interfere em outras cargas de trabalho em compute com modo de acesso padrão. - Instale a biblioteca nãoPython como biblioteca de cluster, conforme necessário.
- Para obter mais detalhes, consulte biblioteca.
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.
- Crie e atualize o trabalho usando a interface do usuárioDatabricks ou o Databricks REST API.
- O Databricks Python SDK permite que o senhor crie, edite e exclua trabalhos de forma programática.
- O Databricks CLI fornece uma interface de linha de comando conveniente para automatizar o trabalho.
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:
- treinamento scikit-learn e acompanhamento MLflow com: 10 tutorial minutos: aprendizado de máquina em Databricks com scikit-learn
- treinamento aprendizagem profunda models: aprendizagem profunda
- Ajuste de hiperparâmetros: Paralelizar o ajuste de hiperparâmetros do Hyperopt
- gráfico analítico: Como usar GraphFrames no Databricks
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
-
O Databricks Academy oferece cursos individuais e ministrados por instrutores sobre vários tópicos.
-
O Databricks Labs fornece ferramentas para o desenvolvimento do Python no Databricks, como o plug-in pytest e o plug-in pylint.
-
Os recursos que suportam a interoperabilidade entre PySpark e Pandas incluem os seguintes:
-
As ferramentas de conectividade de banco de dados Python e SQL incluem:
- O Databricks SQL Connector for Python permite que o senhor use o código Python para executar o SQL comando no Databricks recurso.
- O pyodbc permite que o senhor se conecte a partir do seu código Python local por meio do ODBC aos dados armazenados no Databricks lakehouse.
-
Perguntas frequentes e dicas para mover cargas de trabalho Python para a Databricks podem ser encontradas na Base de Conhecimento da Databricks