Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:✅ Engenharia de dados e ciência de dados no Microsoft Fabric
O Microsoft Fabric permite a alocação de unidades de computação por meio da capacidade, que é um conjunto dedicado de recursos que está disponível em um determinado momento para ser usado. A capacidade define a capacidade de um recurso para executar uma atividade ou produzir resultados. Itens diferentes consomem capacidade diferente em um determinado momento. O Microsoft Fabric oferece capacidade por meio de SKUs do Fabric e avaliações. Para obter mais informações, consulte O que é capacidade?.
Quando os usuários criam uma capacidade do Microsoft Fabric no Azure, eles escolhem um tamanho de capacidade com base no tamanho da carga de trabalho de análise. No Apache Spark, os usuários obtêm dois VCores Apache Spark para cada unidade de capacidade que reservam como parte de sua SKU.
Uma Unidade de Capacidade = Dois Spark VCores
Depois de comprar a capacidade, os administradores podem criar espaços de trabalho dentro da capacidade no Microsoft Fabric. Os Spark VCores associados à capacidade são compartilhados entre todos os itens baseados no Apache Spark, como notebooks, configurações de trabalhos do Apache Spark e lakehouses criados nesses workspaces.
Controlo de concorrência e encaminhamento
Spark for Fabric aplica um mecanismo de limitação e fila baseado em núcleos, no qual os utilizadores podem enviar trabalhos com base nos SKUs de capacidade de Fabric adquiridos. O mecanismo de enfileiramento é uma fila simples baseada em FIFO, que verifica a disponibilidade de slots de trabalho e reprocessa automaticamente os trabalhos assim que a capacidade estiver disponível.
Quando os utilizadores enviam tarefas de notebooks ou de lakehouse (como Load to Table) e a capacidade está no máximo, devido a tarefas simultâneas que utilizam todos os Spark VCores, recebem o seguinte erro:
HTTP Response code 430: This Spark job can't be run because you have hit a Spark compute or API rate limit. To run this Spark job, cancel an active Spark job through the Monitoring hub, or choose a larger capacity SKU or try again later.
Com filas habilitadas, os trabalhos de notebooks acionados a partir de pipelines, agendador de tarefas e definições de trabalho do Spark são adicionados à fila e novamente tentados automaticamente quando a capacidade fica disponível.
Nota
A expiração da fila é definida como 24 horas a partir do momento de envio do trabalho. Após esse período, os trabalhos são removidos da fila e devem ser reenviados manualmente.
As capacidades de tecido também são ativadas com bursting, permitindo que você consuma até 3× o número de Spark VCores que você comprou. Essa explosão ajuda a melhorar a simultaneidade, permitindo que mais trabalhos sejam executados em paralelo.
Nota
O fator de intermitência aumenta o total de VCores do Spark para simultaneidade e pode ser aproveitado por um único trabalho, se o pool do Spark estiver configurado com uma contagem de núcleos mais alta.
Em outras palavras, a configuração do pool determina o máximo de núcleos que um trabalho pode usar, não apenas a alocação de SKU base.
Exemplo
Se você tem um F64 SKU com 384 Max Spark VCores com Burst Fator:
- Você pode configurar um pool personalizado ou inicial com até 384 Spark VCores.
- Se um administrador de espaço de trabalho criar esse pool, um único trabalho do Spark (por exemplo, um bloco de anotações, definição de trabalho ou trabalho lakehouse) poderá usar todos os 384 VCores.
- Exemplo: Um pool com
Mediumnós (8 VCores cada) e 48 nós máximos = 384 VCores.
Sugestão
Para maximizar o desempenho do trabalho, confirme se o pool de espaços de trabalho está configurado com tamanho e contagem de nós suficientes.
Limites de SKU de capacidade do Spark
| Capacidade de tecido SKU | SKU equivalente do Power BI | Spark VCores | Max Spark VCores com Fator de Explosão | Limite de fila |
|---|---|---|---|---|
| F2 | - | 4 | 20 | 4 |
| F4 | - | 8 | 24 | 4 |
| F8 | - | 16 | 48 | 8 |
| F16 | - | 32 | 96 | 16 |
| F32 | - | 64 | 192 | 32 |
| F64 | Pág. 1 | 128 | 384 | 64 |
| F128 | Pág. 2 | 256 | 768 | 128 |
| F256 | P3 | 512 | 1536 | 256 |
| F512 | P4 | 1024 | 3072 | 512 |
| F1024 | - | 2048 | 6144 | 1024 |
| F2048 | - | 4096 | 12288 | 2048 |
| Capacidade de Julgamento | Pág. 1 | 128 | 128 | ND |
Importante
A tabela aplica-se apenas aos trabalhos Spark executados na Fabric Capacity. Com a faturação com dimensionamento automático habilitada, as tarefas Spark são executadas separadamente da capacidade do Fabric, evitando picos ou descidas suaves. O número total de VCores do Spark será o dobro das unidades de capacidade máxima definidas nas definições de escalonamento automático.
Exemplo de cálculo
- A F64 SKU oferece 128 Spark VCores.
- Com um fator de explosão de 3, suporta até 384 Spark VCores para execução simultânea.
- Se um pool estiver configurado com os 384 VCores completos, um único trabalho poderá usá-los todos, supondo que nenhum outro trabalho esteja consumindo capacidade.
- Exemplo: 3 trabalhos usando 128 VCores cada podem ser executados simultaneamente OU 1 trabalho usando 384 VCores pode ser executado.
Nota
Os trabalhos têm um período de expiração da fila de 24 horas, após o qual são cancelados, e os usuários devem reenviá-los para execução.
A limitação no Spark for Fabric não tem limites arbitrários baseados em tarefas, e é baseada apenas no número de núcleos permitidos para a SKU de capacidade de Fabric adquirida. A admissão de tarefas por predefinição é um controlo de admissão otimista, onde as tarefas são admitidas com base nos seus requisitos mínimos essenciais. Saiba mais: Admissão e Gestão de Empregos.
Se a opção pool padrão (Pool inicial) estiver selecionada para o espaço de trabalho, a tabela a seguir listará os limites máximos de trabalho de simultaneidade.
Saiba mais: Configurando pools iniciais.
Os administradores podem configurar seus pools Apache Spark para utilizar o máximo de VCores Spark disponíveis na capacidade, incluindo o fator de intermitência de 3× que o Fabric oferece para execução simultânea. Por exemplo, um administrador de espaço de trabalho com uma capacidade de malha F64 pode configurar o seu pool Spark (Pool Inicial ou Pool Personalizado) para usar até 384 Spark VCores ao:
Definindo nós máximos do Starter Pool para 48 (com nós médios = 8 VCores cada) ou
Configurando um pool personalizado usando nós maiores (por exemplo, XXLarge = 64 VCores cada) com uma contagem de nós apropriada para atingir a capacidade desejada.
Com essa configuração, um único trabalho do Spark pode consumir toda a capacidade de intermitência, o que é ideal para processamento de dados em grande escala que prioriza o desempenho.
Novo: Controlo de explosão de tarefas ao nível de trabalho via Portal de Administração Os administradores de capacidade agora têm controlo sobre como habilitar ou desabilitar a explosão de tarefas ao nível de trabalho por meio de uma nova configuração no Portal de Administração:
Navegue até o Portal de Administração → Configurações de Capacidade → guia Engenharia de Dados/Ciência
Utilize a nova opção "Desativar Job-Level Bursting" para evitar que um único trabalho do Spark consuma toda a capacidade de 'burst' disponível.
Nota
Quando a intermitência no nível de trabalho é desativada, o mecanismo Spark impõe que nenhum trabalho único possa utilizar toda a capacidade disponível (incluindo núcleos de intermitência). Isso garante que a capacidade permaneça disponível para trabalhos simultâneos, melhorando a taxa de transferência e a simultaneidade multiusuário.
Este recurso é particularmente útil em ambientes multi-inquilino ou de alta concorrência, onde as cargas de trabalho precisam ser equilibradas entre várias equipas e pipelines. Os administradores podem ajustar essa configuração com base no fato de a capacidade estar otimizada para taxa de transferência máxima de trabalho (bursting habilitado) ou maior simultaneidade e equidade (bursting desabilitado).
Cenários de exemplo Bursting ativado (padrão): um trabalho de bloco de notas em lote grande pode consumir todos os 384 Spark VCores em uma capacidade F64, desde que nenhum outro trabalho esteja em execução.
Bursting desativado: um trabalho pode ser limitado ao limite do núcleo básico (por exemplo, 128 Spark VCores para F64), permitindo espaço livre para outros trabalhos iniciarem simultaneamente.
Sugestão
Para equipes com diversos tipos de trabalho (ETL, ML, Adhoc), desabilitar o bursting no nível de trabalho pode ajudar a evitar a monopolização da capacidade e reduzir os atrasos na fila de trabalhos.
Conteúdos relacionados
- Introdução às configurações de administração do espaço de trabalho do Apache Spark no Microsoft Fabric
- Saiba mais sobre o Apache Spark compute for Fabric para cargas de trabalho de engenharia e ciência de dados