Compartilhar via


Limites de simultaneidade e enfileiramento no Microsoft Fabric Spark

Aplica-se a: engenharia 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 possibilidade de um recurso executar uma atividade ou produzir uma saída. Itens diferentes consomem capacidades diferentes em um determinado momento. O Microsoft Fabric oferece capacidade por meio de SKUs e avaliações do Fabric. Para saber mais, confiraO que é Capacidade?

Quando os usuários criam uma capacidade do Microsoft Fabric no Azure, eles podem escolher um tamanho de capacidade com base no tamanho da carga de trabalho de análise. No Spark, os usuários obtêm dois VCores do Spark para cada unidade de capacidade que reservam como parte de sua SKU.

Uma unidade de capacidade = dois VCores do Spark

Depois que a capacidade é adquirida, os administradores podem criar workspaces dentro da capacidade no Microsoft Fabric. Os VCores do Spark associados à capacidade são compartilhados entre todos os itens baseados em Spark, como notebooks, definições de trabalho do Spark e lakehouses criados nesses workspaces.

Limitação e enfileiramento de simultaneidade

O Fabric Spark impõe um mecanismo de limitação e enfileiramento baseado em núcleos, em que os usuários poderão enviar trabalhos com base nos SKUs de capacidade do Fabric adquiridos. O mecanismo de enfileiramento é uma fila simples baseada em FIFO, que verifica se há slots de trabalho disponíveis e repete automaticamente os trabalhos depois que a capacidade fica disponível. Quando os usuários enviarem trabalhos de notebook ou lakehouse, como Carregar na Tabela, quando a capacidade deles estiver em sua utilização máxima devido a trabalhos simultâneos em execução usando todos os vCores Spark disponíveis para a SKU de capacidade do Fabric adquirida, eles serão limitados com a mensagem

Código de resposta HTTP 430: esse trabalho do Spark não pode ser executado porque você atingiu um limite de computação do Spark ou taxa de API. Para executar esse trabalho do Spark, cancele um trabalho ativo do Spark por meio do hub de monitoramento, escolha uma SKU de maior capacidade ou tente novamente mais tarde.

Com o enfileiramento habilitado, os trabalhos de notebook acionados por pipelines e as definições do agendador de trabalhos e de trabalho do Spark são adicionados à fila e repetidos automaticamente quando a capacidade é liberada. A expiração da fila é definida como 24 horas a partir do horário de envio do trabalho. Após esse período, os trabalhos precisarão ser reenviados.

As capacidades do Fabric são habilitadas com bursting, o que permite que você consuma núcleos de computação adicionais além dos que foram comprados para acelerar a execução de uma carga de trabalho. Para o bursting de cargas de trabalho do Spark, os usuários enviam trabalhos com um total de 3X dos VCores Spark comprados.

Observação

O fator de bursting só aumenta o número total de VCores Spark para ajudar com a simultaneidade, mas não aumenta os núcleos máximos por trabalho. Os usuários não podem enviar um trabalho que exija mais núcleos do que a capacidade oferecida pelo Fabric.

A seção a seguir lista vários limites baseados em núcleos para cargas de trabalho do Spark com base em SKUs de capacidade do Microsoft Fabric:

SKU de capacidade do Fabric SKU equivalente do Power BI VCores do Spark Máx. de vCores Spark com fator de disparo contínuo Limite de fila
F2 - 4 20 4
F4 - 8 24 4
F8 - 16 48 8
F16 - 32 96 16
F32 - 64 192 32
F64 P1 128 384 64
F128 P2 256 768 128
F256 P3 512 1536 256
F512 P4 1024 3072 512
F1024 - 2.048 6144 1024
F2048 - 4096 12288 2.048
Capacidade de avaliação P1 128 128 NA

Cálculo de exemplo: o SKU F64 oferece 128 Spark VCores. O fator de disparo contínuo aplicado para uma SKU F64 é 3, o que dá um total de 384 vCores Spark. O fator de disparo contínuo é aplicado apenas para ajudar com simultaneidade e não aumenta os núcleos máximos disponíveis para um trabalho individual do Spark. Isso significa que uma única definição de trabalho de Notebook ou Spark ou um trabalho de Lakehouse pode usar uma configuração de pool de até 128 vCores e executar 3 trabalhos com a mesma configuração simultaneamente. Se os notebooks estiverem usando uma configuração de computação menor, eles poderão ser executados simultaneamente até que a utilização máxima atinja o limite de 384 vCores Spark.

Observação

Os trabalhos têm um período de expiração na fila de 24 horas, após o qual são cancelados e os usuários devem reenviá-los para execução.

A limitação do Fabric Spark não tem limites arbitrários baseados em trabalhos e tem base apenas no número de núcleos permitidos para o SKU de capacidade do Fabric adquirido. A admissão de trabalhos por padrão será um controle de admissão otimista, onde os empregos são admitidos com base em seu requisito mínimo de núcleos. Saiba mais sobre a otimista admissão de trabalhos Admissão e gerenciamento de trabalhos Se a opção de 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 sobre as configurações padrão do pool de inicialização com base no SKU de Capacidade do Fabric em Configuração de pools de início.

Bursting em nível de trabalho

Os administradores podem configurar seus pools do Spark para utilizar máximo de núcleos spark máxima com fator de burst disponível para toda a capacidade. Por exemplo, um administrador do espaço de trabalho, que conecta o espaço de trabalho a uma capacidade do F64 Fabric, agora pode configurar o pool do Spark (pool inicial ou personalizado) para 384 Spark VCores, onde os nós máximos dos pools iniciais podem ser definidos como 48 ou os administradores podem configurar um pool de tamanho de nó grande XX, com no máximo 6 nós.