Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Com a introdução de notebooks Python leves no Microsoft Fabric, os clientes agora têm duas opções robustas para criar e dimensionar fluxos de trabalho de análise: Notebooks Python e Notebooks PySpark. Embora ambos forneçam uma interface familiar do Notebook, elas diferem significativamente na forma como gerenciam recursos de computação, escalabilidade e custo-eficiência.
O Fabric simplifica o processo de seleção ou transição entre tipos de notebook, permitindo que os profissionais de dados otimizem para agilidade, desempenho e orçamento. Este guia foi projetado para ajudá-lo a avaliar qual Bloco de Anotações é mais adequado para suas necessidades atuais e como evoluir sua abordagem à medida que suas cargas de trabalho aumentam em complexidade e escala. O 'pool inicial' fornece um contêiner de computação pré-aquecido que permite inicialização quase instantânea para notebooks Python ou PySpark.
Matriz de Decisão Rápida – Escolher Rápido
Melhor para seleção rápida com base no tipo de carga de trabalho.
Use essa referência de alto nível para determinar rapidamente o tipo de bloco de anotações mais adequado para padrões comuns de carga de trabalho. Esta tabela é melhor para análises de arquitetura e planejamento em estágio inicial.
| Cenário | Notebook Recomendado |
|---|---|
| Inclui bibliotecas pré-instaladas do DuckDB e polars | Blocos de Anotações do Python |
| Dados pequenos a médios (cabe na memória) | Notebooks Python (ou PySpark em um cluster Spark de nó único) |
| Exploração rápida e protótipo | Notebooks Python (ou PySpark em um cluster Spark de nó único) |
| Conjuntos de dados grandes (10 GB+) excedendo a memória | Cadernos do PySpark |
| Fluxos de trabalho complexos de dados ou pipelines de ETL | Cadernos do PySpark |
| Execução paralela ou de alta concorrência | Cadernos do PySpark |
| Precisa de APIs nativas do Spark (MLlib, SQL, Streaming) | Cadernos do PySpark |
Resumo rápido de cenários-chave – Comparar profundamente
Use essa tabela de comparação estruturada para entender as compensações arquitetônicas e operacionais entre tipos de notebook. Mais adequado para avaliações de engenharia ou planejamento de implementação.
Execução & Desempenho
| Cenário | Notebooks Python (VM de 2 núcleos) | Blocos de Anotações do PySpark (Computação do Spark) |
|---|---|---|
| Hora de Inicialização | O pool inicial interno é inicializado em aproximadamente 5 segundos, enquanto o pool sob demanda leva cerca de 3 minutos. | O tempo de inicialização varia de ~5 segundos (pool inicial) até vários minutos (clusters Spark sob demanda). |
| Transformações rápidas e chamadas à API | Ideal para conjuntos de dados de tamanho pequeno a médio (até 1 GB) | Otimizado para grandes conjuntos de dados usando a execução vetorizada. |
| Cargas de trabalho moderadas | Não otimizado para tamanhos de dados próximos à saturação de memória | Eficiente no dimensionamento por meio da computação distribuída. |
| Manipulação de conjuntos de dados grandes | Limitado por memória de nó único. Pode ter dificuldades com o dimensionamento. | O processamento distribuído garante a manipulação escalonável de cargas de trabalho de vários GB para TB. |
| Execução do High-Concurrency | Paralelismo manual no estilo FIFO por caderno | Simultaneidade gerenciada pelo sistema com suporte para execução paralela. |
| Personalização e dimensionamento de recursos | Computação fixa (VM de 2 núcleos); não é dimensionado automaticamente. Os usuários podem escalar manualmente usando %%config dentro do notebook. | Alocação de recursos flexível; dá suporte ao dimensionamento automático e configurações personalizadas do Spark. |
Fluxo de trabalho e orquestração
| Cenário | Notebooks Python (VM de 2 núcleos) | Blocos de Anotações do PySpark (Computação do Spark) |
|---|---|---|
| Orquestração de API | Eficaz para fluxos de orquestração e controle leves, especialmente integrações baseadas em REST/gRPC | Menos ideal para tarefas básicas de orquestração devido a uma inicialização mais longa e sobrecarga distribuída. |
| DAGs de ETL complexos | Limitado à execução de tarefas sequenciais (FIFO) em um único nó, sem suporte para processamento paralelo. | Dá suporte à execução simultânea de tarefas em DAGs usando o agendamento de FlFO ou FAlR, permitindo o processamento paralelo eficiente para fluxos de trabalho complexos de ETL. |
Suporte à Plataforma & Biblioteca
| Cenário | Notebooks Python (VM de 2 núcleos) | Blocos de Anotações do PySpark (Computação do Spark) |
|---|---|---|
| Acesso à biblioteca | Suporte forte para bibliotecas Python em vários ambientes de execução; no entanto, o acesso limitado às bibliotecas específicas do Spark pode exigir integração manual. | Dá suporte total a MLlib, Spark SQL, PySpark e Spark Streaming. |
| Tratamento do Delta Lake | O runtime do Python Notebook vem com as bibliotecas deltas e duckdb pré-instaladas, permitindo a leitura e gravação de dados de Delta Lake. No entanto, alguns recursos do Delta Lake ainda podem não ter suporte. | Totalmente suportado com compatibilidade nativa. |
Prontidão para Produção & Prontidão Empresarial
| Cenário | Notebooks Python (VM de 2 núcleos) | Blocos de Anotações do PySpark (Computação do Spark) |
|---|---|---|
| Gerenciamento de Produção | Recursos de produção limitados; Não dá suporte a variáveis de ambiente. | Suporte para fluxos de trabalho de produção com variáveis de ambiente, gerenciamento de biblioteca por meio de itens de ambiente e implantação baseada em item. |
Considerações de custo
| Cenário | Notebooks Python (VM de 2 núcleos) | Blocos de Anotações do PySpark (Computação do Spark) |
|---|---|---|
| Perfil de Custo | Menor custo inicial (mínimo de 2 vCores); mais adequado para cargas de trabalho leves e ad hoc. | Custo inicial mais alto (mínimo de 4 vCores); projetado para cargas de trabalho escalonáveis de nível empresarial. O dimensionamento automático pode reduzir os custos, potencialmente resultando em um TCO (custo total de propriedade) menor. |
Quando usar Notebooks Python vs. PySpark
O Fabric Notebooks oferece flexibilidade para uma ampla gama de usuários e cargas de trabalho. Esta seção ajuda você a avaliar qual tipo de bloco de anotações se alinha melhor às suas necessidades atuais e futuras.
Use o Python Notebooks para iteração rápida, análise econômica e desenvolvimento interativo. Eles são ideais para conjuntos de dados menores e incluem suporte nativo para bibliotecas como DuckDB e Polars.
Use Notebooks PySpark para computação distribuída, fluxos de trabalho ETL de nível de produção ou em cenários em que alta simultaneidade e APIs nativas do Spark são essenciais.
Escolha Blocos de Anotações do Python quando:
- Você precisa de uma inicialização rápida (normalmente em segundos) em um contêiner leve de 2 núcleos.
- Se minimizar o custo de computação for uma prioridade para análise interativa ou microempregos agendados.
- Você deseja acesso imediato a bibliotecas instaláveis por pip e DuckDB e Polars pré-instalados.
- Você precisa testar em diferentes versões de runtime do Python.
- Seus dados se ajustam confortavelmente em um único nó de memória.
Escolha Blocos de Anotações do PySpark quando:
- Suas cargas de trabalho excedem os limites de memória ou computação de um único nó.
- Você precisa de pools com alta simultaneidade para executar tarefas paralelamente em Notebooks.
- Você está orquestrando pipelines ETL complexos com agendamento FAIR ou FIFO.
- Você conta com APIs nativas do Spark, como MLlib, Spark SQL ou Spark Streaming.
- Você precisa de recursos de nível de produção, como variáveis de ambiente e gerenciamento de biblioteca baseado em item.
Principais Diferenças em um relance - referenciar concisamente
Consulte o Glossário no final deste guia para obter definições de termos como VORDER, NEE e Items-Based Library Management.
Esta seção fornece uma referência rápida para as diferenças técnicas e arquitetônicas fundamentais entre o Python e o PySpark Notebooks.
| Categoria | Blocos de Anotações do Python | Cadernos do PySpark |
|---|---|---|
| Tempo de Execução da Computação | Contêiner leve (VM de 2 núcleos) | Cluster Spark (conjunto de nó único ou alta concorrência) |
| Hora da inicialização | Inicialização instantânea (segundos por meio do pool inicial) | A inicialização do sistema varia de aproximadamente 5 segundos (por meio de um pool de inicialização) a vários minutos (ao usar clusters Spark sob demanda). |
| Perfil de Custo | Custo mais baixo; ideal para tarefas curtas e protótipos | Custo mais alto; adequado para cargas de trabalho escalonáveis e de execução longa |
| Controle de versão do Python/Spark | Várias versões do Python disponíveis | Vinculado a uma versão específica do runtime do Spark |
| Bibliotecas personalizadas | pip install + pastas de recursos | pip install + diretórios de recursos + elemento de ambientes |
| Funcionalidades do Fabric Spark | Acesso limitado aos recursos do mecanismo Spark | Acesso completo: NEE, Autotune, VORDER, Vegas Cache |
| Compatibilidade do Delta Lake | Parcialmente compatível; possíveis problemas de desempenho | Totalmente suportado e otimizado |
Evoluindo sua carga de trabalho: do Python para o PySpark
Os Blocos de Anotações do Fabric foram projetados para crescer com a complexidade da carga de trabalho. Esta seção descreve como você pode dimensionar sua estratégia do Notebook de exploração simples para processamento de dados distribuídos.
| Etapa | Notebook Recomendado | Condição de gatilho |
|---|---|---|
| Iniciar | Notebooks Python (2 núcleos) | Cargas de trabalho pequenas e interativas |
| Ampliar | Notebooks do Python (alternar manualmente para uma VM maior) | Aproximando-se dos limites de memória ou CPU |
| Expansão horizontal | Blocos de Anotações do PySpark (alternar manualmente para o pool do Spark) | Necessidade de computação distribuída ou execução paralela |
Dica
À medida que você faz a transição para o PySpark, verifique se o código usa a sintaxe compatível com Spark. Valide suas cargas de trabalho no ambiente spark antes de implantar em produção.
Resumo
O Python Notebooks dá suporte a operações de kernel, como interromper e reiniciar o kernel, o que acelera o desenvolvimento interativo. Elas são ideais para a análise rápida e econômica de conjuntos de dados de pequeno a médio porte, e se destacam em prototipagem, experimentação e tarefas leves agendadas.
À medida que o volume de dados e a complexidade aumentam, os Notebooks PySpark oferecem o poder de computação distribuído e os recursos de nível de produção necessários para análise corporativa em larga escala. Escolher o Bloco de Anotações correto é um processo em evolução. Comece com a opção mais simples que atenda às suas necessidades atuais e dimensione à medida que o cenário de dados cresce.
Consulte o Glossário na página final para obter explicações sobre termos como NEE, VORDER e Vegas Cache.
Glossário de termos
- Item-Based Gerenciamento de Biblioteca: Gerencia pacotes versionados e bibliotecas de produção dentro do item Ambiente.
- Compatibilidade do Delta Lake: suporte entre ambientes para tabelas Delta; totalmente compatível com o PySpark.
- Agendamento JUSTO: uma política de agendamento que aloca recursos de forma justa entre trabalhos simultâneos do Spark.
- Agendamento FIFO: ordem de execução de primeiroFirst-Out para agendamento de trabalho.
- NEE (Mecanismo de Execução Nativa): um mecanismo de consulta otimizado exclusivo para o Fabric Spark.
- Pool do Spark: um recurso de computação compartilhado para executar cargas de trabalho distribuídas do Spark.
- VORDER: Otimização de estrutura para caminhos de execução de consultas vetorizados.
- Aceleração vetorizada: processa dados em lotes usando operações de vetor para um desempenho mais rápido.
- Cache de Vegas: um cache na memória que acelera o acesso repetido aos dados do Spark.