Partilhar via


Admissão de emprego no Apache Spark for Microsoft Fabric

Aplica-se a:✅ Engenharia de Dados e Ciência de Dados no Microsoft Fabric

O Apache Spark for Fabric utiliza a técnica otimista de admissão de emprego para determinar o requisito mínimo de núcleo para trabalhos do Spark. Esse processo é aplicável a trabalhos interativos ou em lote de notebooks, lakehouses ou definições de trabalho do Spark. Ele depende da configuração de nó mínimo do pool Spark escolhido nas configurações do espaço de trabalho ou no ambiente anexado. Se os núcleos disponíveis forem encontrados na capacidade de malha vinculada ao espaço de trabalho, o trabalho será aceito e iniciará a execução. Os trabalhos começam com sua configuração de nó mínimo e podem ser dimensionados dentro de seus limites máximos de nós de acordo com os estágios do trabalho. Se o total de núcleos usados pela execução de trabalhos que utilizam a capacidade de malha estiver abaixo dos núcleos de burst máximos atribuídos, a camada de admissão e limitação de trabalho no Fabric Spark permitirá que o trabalho seja dimensionado.

Para obter mais informações, consulte Limites de simultaneidade e filas no Microsoft Fabric Spark.

Como funciona a admissão de emprego otimista?

Na Malha, os pools iniciais vêm com um mínimo padrão de um nó, enquanto os pools personalizados permitem definir nós mínimos com base nas necessidades de carga de trabalho. O dimensionamento automático ajusta os requisitos de computação para trabalhos do Spark durante os estágios de execução, dentro dos nós mínimo e máximo configurados. A admissão de emprego otimista avalia os envios de trabalho com base nos núcleos disponíveis e os executa com núcleos mínimos. Os trabalhos tentam crescer com base no máximo de nós alocados durante a execução. As solicitações de expansão são aprovadas se o total de núcleos Spark usados estiver dentro dos limites de capacidade alocados.

Nota

Se o uso atingir o limite máximo e todos os núcleos dentro da capacidade total do Fabric estiverem em uso, todas as solicitações de expansão serão negadas. Os trabalhos ativos devem ser concluídos ou cancelados para liberar núcleos.

Como isso afeta a simultaneidade de emprego?

O requisito básico mínimo para cada trabalho determina se o trabalho pode ser aceito. Se a capacidade for totalmente utilizada e não tiver núcleos restantes para atender às necessidades básicas mínimas de um trabalho, o trabalho será rejeitado. Trabalhos de bloco de anotações interativos ou operações do Lakehouse serão bloqueados com uma mensagem de erro Não é possível enviar essa solicitação porque toda a capacidade disponível está sendo usada no momento. Cancele um trabalho atualmente em execução, aumente a capacidade disponível ou tente novamente mais tarde. Os trabalhos em lote são enfileirados e executados assim que os núcleos ficam disponíveis.

Por exemplo, considere um cenário com um usuário utilizando a SKU de capacidade do Fabric F32. Supondo que todos os trabalhos usem a configuração padrão do pool inicial sem admissão de trabalho otimista, a capacidade suportaria uma simultaneidade máxima de três trabalhos. O número máximo de núcleos por tarefa é alocado de acordo com a configuração máxima de nós.

Captura de tela mostrando a simultaneidade de trabalho sem admissão de emprego otimista no Fabric Spark.

Com admissão de trabalho otimista com a mesma capacidade acima, 24 trabalhos podem ser admitidos e executados usando sua configuração de nó mínimo durante o cenário de simultaneidade máxima. Porque cada tarefa requer 8 VCores Spark onde uma configuração de nó mínimo é de tamanho médio.

Captura de tela mostrando a simultaneidade de trabalho com admissão de emprego otimista no Fabric Spark.

Dimensione trabalhos com o dimensionamento automático do Spark

Quando você habilita o dimensionamento automático para pools do Spark, os trabalhos são executados com sua configuração mínima de nó. Durante o tempo de execução, o dimensionamento pode ocorrer. Esses pedidos passam pelo controle de admissão de emprego. As solicitações aprovadas são dimensionadas até os limites máximos com base no total de núcleos disponíveis. As solicitações rejeitadas não afetam os trabalhos ativos; eles continuam a ser executados com sua configuração atual até que os núcleos fiquem disponíveis.

Captura de tela mostrando uma expansão de trabalho com admissão de emprego otimista no Fabric Spark.

Nota

Para garantir a alocação máxima de núcleo para um trabalho de acordo com sua configuração de nós máximos, desative o dimensionamento automático e defina os nós máximos dentro do SKU de capacidade de malha. Nesse caso, como o trabalho não tem nenhum requisito mínimo de núcleo, ele começará a ser executado assim que os núcleos livres estiverem disponíveis, escalando até o total configurado. Se a capacidade for totalmente utilizada, os trabalhos interativos do bloco de anotações poderão ficar lentos ou enfileirados. Os trabalhos em fila são repetidos automaticamente à medida que os núcleos ficam disponíveis.