Compare Fabric Data Engineering e Azure Synapse Spark

Este artigo compara o Azure Synapse Spark e o Fabric Spark entre pools, configurações, bibliotecas, notebooks e definições de funções Spark (SJD).

Para uma vista focada em Delta Lake e Lakehouse (incluindo formatos de tabelas e padrões de tempo de execução), consulte tabelas Lakehouse e Delta Lake.

Categoria Azure Synapse Spark Fabric Spark
Conjuntos do Spark Piscina de faísca
-
-
Piscina inicial (pré-aquecida) / Pool personalizado
V-Order
Alta simultaneidade
Configurações do Apache Spark Nível da piscina
Nível de definição de trabalho do Bloco de Anotações ou do Spark
Nível ambiental
Nível de definição de trabalho de Notebook ou Spark
Bibliotecas Spark Pacotes ao nível do espaço de trabalho
Pacotes ao nível da piscina
Pacotes em linha
-
Bibliotecas de ambiente
Bibliotecas em linha
Recursos Notebook (Python, Scala, Spark SQL, R, .NET)
Definição de trabalho Spark (Python, Scala, .NET)
Fluxos de sinapse
Atividades de pipeline (caderno, definição de funções Spark)
Notebook (Python, Scala, Spark SQL, R)
Definição de trabalho do Spark (Python, Scala, R)
pipelines do Data Factory
Atividades de pipeline (caderno, definição de funções Spark)
Dados Armazenamento primário (ADLS Gen2)
Residência de dados (baseada em cluster/região)
armazenamento primário (OneLake)
Residência de dados (baseada em capacidade/região)
Metadados Hive Metastore Interno (HMS)
HMS externo (usando Azure SQL DB)
HMS interno (lakehouse)
-
Ligações Tipo de conector (serviços vinculados)
Fontes de dados
Fonte de dados conn. com identificação do espaço de trabalho
Tipo de conector (Serviços de Movimentação e Transformação de Dados)
Fontes de dados
-
Segurança RBAC e controle de acesso
Storage ACLs (ADLS Gen2)
Links Privados
Rede virtual gerida (VNet) para isolamento de rede
Identidade do espaço de trabalho Synapse
Proteção contra exfiltração de dados (DEP)
Etiquetas de serviço
Key Vault (via mssparkutils/ serviço associado)
RBAC e controle de acesso
OneLake RBAC
Links Privados
Rede virtual gerenciada (VNet)
Identidade do espaço de trabalho
Regras de firewall IP do espaço de trabalho
Proteção de acesso de saída
Etiquetas de serviço
Key Vault (via notebookutils)
DevOps Integração com Azure DevOps
CI/CD (sem suporte incorporado)
Integração do Azure DevOps
Pipelines de implementação
Fabric CLI e Azure DevOps Pipelines extension
Experiência de programador Integração IDE (IntelliJ)
Synapse Studio UI
Colaboração (espaços de trabalho)
Livy API
API/SDK
mssparkutils
Integração IDE (VS Code)
Interface do usuário Fabric
Colaboração (espaços de trabalho e partilha)
Livy API
API/SDK
notebookutils
Registos e monitorização Conselheiro Spark
Pools e trabalhos de monitorização incorporados (através do Synapse Studio)
Servidor de histórico do Spark
Prometeu/Grafana
Análise de logs
Conta de Armazenamento
Hubs de Eventos
Conselheiro Spark
Pools e trabalhos de vigilância integrados (através do hub de vigilância)
Servidor de histórico do Spark
-
Análise de logs
Conta de Armazenamento
Hubs de Eventos
Aplicação Métricas de Capacidade
Continuidade de negócio e recuperação após desastre (BCDR) BCDR (dados) ADLS Gen2 BCDR (dados) OneLake

Quando escolher: Utilize o Fabric Spark para análise unificada com armazenamento OneLake, pipelines CI/CD integradas e escalonamento baseado em capacidade. Use o Azure Synapse Spark quando precisar de pools acelerados por GPU, Hive Metastore externo ou ligações JDBC.

Limitações principais no Fabric

  • DMTS em cadernos: Os Serviços de Movimentação e Transformação de Dados não podem ser usados em cadernos ou definições de funções Spark
  • Identidade gerida para Key Vault: Não suportada em notebooks
  • Metastore Hive Externo: Não suportado
  • Pools acelerados por GPU: Não disponíveis
  • .NET para Spark (C#): Não suportado

Mais considerações sobre o tecido

Comparação de piscina de faíscas

A tabela seguinte compara os pools Azure Synapse Spark e Fabric Spark.

Configuração de faísca Azure Synapse Spark Fabric Spark
Piscina viva (instâncias pré-aquecidas) - Sim, conjunto inicial
Piscina personalizada Sim Sim
Versões do Spark (tempo de execução) 2.4, 3.1, 3.2, 3.3, 3.4 3.4, 3.5, 4.0
Dimensionamento Automático Sim Sim
Alocação dinâmica de executores Sim, até 200 Sim, com base na capacidade
Tamanhos de nós ajustáveis Sim, 3-200 Sim, 1 com base na capacidade
Configuração mínima do nó 3 nós 1 nó
Família de tamanhos de nós Memória otimizada, GPU acelerada Otimizado para Memória
Tamanho do nó Pequeno-XXXGrande Pequeno-XXL
Pausa automática Sim, mínimo personalizável de 5 minutos Sim, 2 minutos não personalizáveis
Alta simultaneidade Não Sim
V-Order Não Sim
Autotune Spark Não Sim
Mecanismo de execução nativo Não Sim
Limites de simultaneidade Fixo Variável baseada na capacidade
Várias piscinas de faísca Sim Sim (ambientes)
Cache inteligente Sim Sim
Suporte a API/SDK Sim Sim
  • Runtime: O Fabric não suporta Spark 3.3 e versões anteriores. O Fabric Spark suporta o Spark 3.4 com Delta 2.4 dentro do Runtime 1.2, Spark 3.5 com Delta 3.1 dentro do Runtime 1.3, e o Spark 4.0 com Delta 4.0 dentro do Runtime 2.0.

Quando escolher: Utilize pools Spark do Fabric para arranque rápido (pools iniciais), trabalho de nó único, sessões de concorrência elevada e otimização V-Order. Usa pools do Azure Synapse quando precisares de aceleração GPU ou escalonamento fixo até 200 nós.

Compreender os modelos de pool Spark

Azure Synapse e Fabric utilizam modelos de pool fundamentalmente diferentes:

  • Azure Synapse: Um pool Spark é um recurso de computação fixo com um número máximo de nós. Cada trabalho (definição de caderno ou de trabalho Spark) disponibiliza um cluster dentro do pool. O pool define o limite superior dos nós disponíveis em todos os artefacts em execução.

  • Fabric: Um pool Spark é um modelo de configuração, não um recurso de computação de suporte fixo. Cada artefacto fornece o seu próprio cluster, mas o dimensionamento é limitado pelos vCore de Capacidade, não por uma propriedade de tamanho máximo do pool. As sessões de alta concorrência permitem que os artefatos partilhem a mesma sessão ou cluster.

Aspeto Azure Synapse Fabric
O que define computação total? Pool com número máximo de nós Capacidade (vCores + rajada)
O que representa a piscina? Fronteira de cálculo real Modelo para criação de clusters
Paralelismo limitado por Contagem de nós do pool Capacidade total de vCores

Exemplo prático: comparação de concorrência

A tabela seguinte compara quantos trabalhos concorrentes podem correr sob diferentes configurações, assumindo um tamanho de cluster de 1 driver + 6 trabalhadores (7 nós, 28 vCores por trabalho) com nós Pequenos (4 vCores cada).

Métrica Synapse (pool de 24 nós) Fabric F16 (96 Spark vCores) Fabric F32 (192 Spark vCores)
Cálculo da fronteira 24 nós 32 vCores × 3 bursts = 96 vCores 64 vCores × 3 rajadas = 192 vCores
Máximo de empregos simultâneos 3 (usa 21 nós) 3 (utiliza 84 vCores) 6 (utiliza 168 vCores)
Capacidade restante 3 nós 12 vCores 24 vCores
Limite de fila 200 por pool 16 por capacidade 32 por unidade de capacidade

Para mais informações sobre a capacidade e concorrência do Fabric, conferir Limites de Concorrência e Filas.

Versões em tempo de execução Spark

Versões suportadas pelo Fabric Spark:

O Fabric não suporta Spark 2.4, 3.1 ou 3.2.

Tamanhos de nós ajustáveis

Os pools Spark do Azure Synapse escalam até 200 nós independentemente do tamanho do nó. No Fabric, o número máximo de nós depende do tamanho do nó e da capacidade provisionada (SKU).

Conversão de capacidade de tecido: 2 Spark vCores = 1 unidade de capacidade. Fórmula: vCores totais em capacidade ÷ vCores por tamanho de nó = número máximo de nós disponíveis.

Por exemplo, o SKU F64 fornece 64 unidades de capacidade (128 Spark vCores). A tabela seguinte mostra os limites de nós para F64:

Tamanho da piscina de faíscas Azure Synapse Spark Fabric Spark (Pool Personalizado, SKU F64)
Pequeno (4 vCores) Mín.: 3, Máx.: 200 Mínimo: 1, Máx: 32
Médio (8 vCores) Mín.: 3, Máx.: 200 Mín: 1, Máx: 16
Grande (16 vCores) Mín.: 3, Máx.: 200 Mín.: 1, Máx.: 8
X-Large (32 vCores) Mín.: 3, Máx.: 200 Mín.: 1, Máx.: 4
XX-Large (64 vCores) Mín.: 3, Máx.: 200 Mín.: 1, Máx.: 2

Para obter mais informações, consulte Computação do Spark.

Tamanhos dos nós

Os pools Fabric Spark suportam apenas a família de nós Otimizada para Memória. Pools acelerados por GPU disponíveis no Azure Synapse não são suportados no Fabric.

Comparação do tamanho dos nós (XX-Large):

  • Azure Synapse: 432 GB de memória
  • Fabric: 512 GB de memória, 64 vCores

Os tamanhos dos nós Pequeno a X-Grande têm vCores e memória idênticos tanto em Azure Synapse como em Fabric.

Comportamento de autopausa

Comparação de definições de autopausa:

  • Azure Synapse: Tempo de espera configurável, mínimo de 5 minutos
  • Fabric: Pausa automática fixa de 2 minutos após o término da sessão (não configurável), o timeout padrão da sessão é de 20 minutos

Alta simultaneidade

O Fabric suporta o modo de alta concorrência para notebooks, permitindo que vários utilizadores partilhem uma única sessão Spark. O Azure Synapse não suporta esta funcionalidade.

Limites de simultaneidade

Azure Synapse Spark limites (fixos):

  • 50 trabalhos simultâneos para cada pool, 200 tarefas em fila para cada pool
  • 250 empregos ativos por pool, 1.000 por workspace

Limites do Fabric Spark (baseado em SKU):

  • As tarefas simultâneas variam conforme a capacidade SKU: entre 1 e um máximo de 512
  • O controlo dinâmico baseado em reservas gere o uso no pico

Para mais informações, consulte limites de concorrência e filas em Microsoft Fabric Spark.

Várias piscinas de faísca

No Fabric, utilize ambientes para configurar e selecionar diferentes pools Spark por caderno ou definição de trabalho Spark.

Nota

Aprende como migrar pools Spark do Azure Synapse para o Fabric.

Comparação de configurações do Spark

As configurações de faísca aplicam-se a dois níveis:

  • Nível do ambiente: Configuração padrão para todos os trabalhos Spark no ambiente
  • Nível inline: Configuração por sessão em cadernos ou definições de tarefas Spark
Configuração do Spark Azure Synapse Spark Fabric Spark
Nível ambiental Sim, piscinas Sim, ambientes
Em linha Sim Sim
Importação/exportação Sim Sim (.yml de ambientes)
Suporte a API/SDK Sim Sim

Quando escolher: Ambas as plataformas suportam configurações de ambiente e em linha. O Fabric utiliza ambientes em vez de configurações ao nível do pool.

  • Sintaxe inline: No Fabric, usar spark.conf.set(<conf_name>, <conf_value>) para configurações ao nível da sessão. Para trabalhos em lote, usa o SparkConf.
  • Configurações imutáveis: Algumas configurações do Spark não podem ser modificadas. Mensagem de erro: AnalysisException: Can't modify the value of a Spark config: <config_name>
  • V-Order: Ativado por defeito no Fabric; Otimização em tempo de escrita para ficheiros parquet. Ver V-Order.
  • Escrita Otimizada: Ativada por defeito no Fabric; desativado por defeito no Azure Synapse.

Nota

Aprenda a migrar configurações do Spark do Azure Synapse para o Fabric.

Comparação de bibliotecas do Spark

As bibliotecas Spark aplicam-se em três níveis:

  • Nível do espaço de trabalho: Disponível apenas em Azure Synapse
  • Nível ambiental: Bibliotecas disponíveis para todos os cadernos e definições de tarefas Spark no ambiente
  • Inline: Bibliotecas específicas de sessão instaladas no arranque do portátil
Biblioteca Spark Azure Synapse Spark Faísca de tecido
Nível do espaço de trabalho Sim Não
Nível ambiental Sim, piscinas Sim, ambientes
Em linha Sim Sim
Importação/exportação Sim Sim
Suporte a API/SDK Sim Sim

Quando escolher: Ambas as plataformas suportam bibliotecas de ambiente e integradas. O Fabric não suporta pacotes ao nível do espaço de trabalho.

  • Built-in libraries: O Fabric e os runtimes de Azure Synapse partilham um núcleo Spark comum, mas diferem nas versões da biblioteca. Algum código pode exigir recompilação ou bibliotecas personalizadas. Ver as bibliotecas de tempo de execução do Fabric.

Comparação de blocos de notas

Notebooks e definições de tarefas do Spark são itens de código primários para o desenvolvimento de tarefas do Apache Spark no Fabric. Existem algumas diferenças entre Azure Synapse cadernos Spark e Fabric cadernos Spark:

Capacidade do notebook Azure Synapse Spark Fabric Spark
Importação/exportação Sim Sim
Configuração da sessão Yes. UI e em linha Yes. UI (ambiente) e em linha
IntelliSense Sim Sim
mssparkutils Sim Sim
Recursos de notebook Não Sim
Colaborar Não Sim
Alta simultaneidade Não Sim
.NET para Spark C# Sim Não
Suporte à atividade de pipeline Sim Sim
Suporte integrado para execução agendada Não Sim
Suporte a API/SDK Sim Sim

Quando escolher: Use cadernos Fabric para colaboração, sessões de alta concorrência, agendamento integrado e recursos para cadernos. Utilize os notebooks do Azure Synapse caso necessite de .NET para Spark (C#).

  • notebookutils.credentials: Apenas getToken e getSecret são suportados em Fabric (ligações DMTS não disponíveis).
  • Recursos para cadernos: O Fabric fornece um sistema de ficheiros semelhante ao Unix para gerir ficheiros. Veja Como usar cadernos.
  • Alta concorrência: Alternativa ao ThreadPoolExecutor em Azure Synapse. Veja Configurar modo de concorrência elevada.
  • .NET para Spark: Migrar cargas de trabalho C#/F# para Python ou Scala.
  • Serviços ligados: Substituir por bibliotecas Spark para ligações externas a fontes de dados.

Comparação da definição de trabalho do Spark

Considerações importantes sobre a definição de trabalho do Spark:

Capacidade de trabalho do Spark Azure Synapse Spark Fabric Spark
PySpark Sim Sim
Scala Sim Sim
.NET para Spark C# Sim Não
SparkR Não Sim
Importação/exportação Sim (UI) Não
Suporte à atividade de pipeline Sim Sim
Suporte integrado para execução agendada Não Sim
Políticas de Repetição Não Sim
Suporte a API/SDK Sim Sim

Quando escolher: Utilize definições de tarefas do Fabric Spark para suporte ao SparkR, agendamento integrado e políticas de tentativas. Usa o Azure Synapse se precisares de .NET para Spark (C#) ou importação/exportação baseada em interface.

  • Ficheiros suportados: .py, . R, e .jar com ficheiros de referência, argumentos de linha de comandos e referências lakehouse.
  • Import/export: Importação/exportação de JSON baseada na interface do utilizador, disponível apenas no Azure Synapse.
  • Políticas de repetição: Para permitir execuções indefinidas em trabalhos de Streaming Estruturado Spark.
  • .NET para Spark: Migrar cargas de trabalho C#/F# para Python ou Scala.

Nota

Aprenda a migrar definições de funções Spark de Azure Synapse para Fabric.

Comparação do Hive Metastore (HMS)

Tipo HMS Azure Synapse Spark Fabric Spark
HMS interno Sim Sim (lakehouse - arquitetura de dados que combina características de um data lake e um data warehouse)
HMS externo Sim Não

Quando escolher: Use tecido se o HMS interno baseado em casa de lago corresponder às suas necessidades. Use o Azure Synapse se precisar de Hive Metastore externo (Azure SQL DB) ou acesso à API do Catálogo.