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:
Importar código: Importe seu próprio código de arquivos ou repositórios do Git ou experimente o site tutorial listado abaixo. A Databricks recomenda o aprendizado usando o Databricks Notebook interativo.
execução do 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 aos clusters, e execute o Notebook.
Além disso, o senhor pode se aprofundar em tópicos mais específicos:
Trabalhe com conjuntos de dados maiores usando o Apache Spark
Automatize sua carga de trabalho como um Job
Use machine learning para analisar seus dados
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
Começar com Apache Spark DataFrames para preparação e análise de dados: tutorial: Carga e transformação de dados usando Apache Spark DataFrames
tutorial: Modelos ML de ponta a ponta em Databricks. Para obter exemplos adicionais, consulte o tutorial: Começar com IA e machine learning e o Guia de Início Rápido do MLflow Python .
O Databricks AutoML permite que você comece rapidamente o desenvolvimento de modelos de aprendizado de máquina em seus próprios datasets.Sua abordagem de "caixa de vidro" gera notebooks com o fluxo de trabalho completo de aprendizado de máquina, que você pode clonar, modificar e executar novamente.
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: Execute seu primeiro pipeline do Delta Live Tables.
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 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 avança pelos pontos de interrupção.
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 do Koalas agora recomenda a mudança para a API do Pandas no Spark. O site Pandas API em Spark está disponível em clusters que executa Databricks Runtime 10.0 (EoS) e acima. Para clusters que executa Databricks Runtime 9.1 LTS e abaixo, use Koalas em vez disso.
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 Suporte para notebook Python. 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 machine learning. Comece importando um Notebook. Quando o senhor tiver acesso a um cluster, poderá anexar um Notebook ao cluster 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.
Databricks Git permitem que os usuários sincronizem o Notebook e outros arquivos com os repositórios do Git. 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 um Notebook com o clone do repositório, anexar o Notebook a um cluster e executar o Notebook.
Clusters e bibliotecas
O Databricks compute oferece 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 do cluster de acordo com suas necessidades. data scientists Em geral, o senhor começará a trabalhar criando um cluster ou usando um clustercompartilhado 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 nós únicos, o cientista de dados pode usar a computação de nó único para economizar custos.
Para obter dicas detalhadas, consulte Recomendações de configuração da computação
Os administradores podem configurar políticas 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.
comece com a biblioteca default no Databricks Runtime notas sobre a versão versões e compatibilidade. Use o Databricks Runtime for Machine Learning para cargas de trabalho de machine learning. Para obter listas completas de bibliotecas pré-instaladas, consulte Databricks Runtime notas sobre a versão versões e compatibilidade.
Personalize seu ambiente usando bibliotecas Python com escopo de notebook, que permitem que você modifique seu notebook ou ambiente de trabalho com bibliotecas do PyPI ou de outros repositórios. O comando mágico
%pip install my_library
é instalado em todosmy_library
os nós em seu cluster atualmente conectado, mas não interfere com outras cargas de trabalho em clusters compartilhados.Instale bibliotecas que não sejam do Python como bibliotecas do Cluster, conforme necessário.
Para mais detalhes, consulte Bibliotecas.
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 um trabalho agendado ou acionado 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 Configurar e editar Databricks Jobs.
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 suporta uma ampla variedade de cargas de trabalho machine learning (ML), incluindo o tradicional ML em dados tabulares, aprendizagem profunda 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 machine learning em Databricks, consulte IA e machine learning em 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 machine learning operações (MLOps), Databricks fornece um serviço gerenciado para o código aberto biblioteca MLflow. Com o MLflow acompanhamento, o senhor pode registrar o desenvolvimento do modelo e salvar os modelos em formatos reutilizáveis. O senhor pode usar o MLflow Model Registry para gerenciar e automatizar a promoção de modelos para produção. Jobs e servindo modelo permitem hospedar modelos como lotes e transmissão Job e como endpoint REST. Para obter mais informações e exemplos, consulte os documentos ML lifecycle MLflow MLflow Python API management using ou.
Para começar com cargas de trabalho comuns de machine learning, consulte as seguintes páginas:
Treinamento de scikit-learn e acompanhamento com o MLflow: Tutorial de 10 minutos: machine learning em Databricks com scikit-learn
Treinamento de modelos de aprendizagem profunda: 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 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 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. Ver biblioteca e programar e orquestrar fluxo de trabalho.
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
O Databricks Academy oferece cursos individuais e ministrados por instrutores sobre vários tópicos.
Recursos que suportam interoperabilidade entre PySpark e pandas
Conectividade de banco de dados Python e SQL
O Conector SQL Databricks for Python permite a você utilizar código Python para executar comandos SQL em recursos Databricks.
pyodbc permite que você se conecte a partir de seu código Python local por meio de ODBC aos dados armazenados no Databricks lakehouse.
Perguntas frequentes e dicas para mover cargas de trabalho do Python para Databricks