Admissão de trabalhos no Apache Spark para o Microsoft Fabric
Aplica-se a:✅ Engenharia e Ciência de Dados no Microsoft Fabric
O Apache Spark para Fabric utiliza a técnica otimista de admissão de trabalhos para determinar o requisito básico mínimo para os 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 mínima do nó do pool do Spark escolhido nas configurações do espaço de trabalho ou no ambiente anexado. Se os núcleos disponíveis forem encontrados na capacidade do Fabric vinculada ao espaço de trabalho, o trabalho será aceito e iniciará a execução. Os trabalhos são iniciados com sua configuração de nó mínimo e podem ser expandidos dentro de seus limites máximos de nó de acordo com os estágios do trabalho. Se o total de núcleos usados pela execução de trabalhos utilizando a capacidade de Fabric estiver abaixo do máximo de núcleos de intermitência atribuídos, a camada de admissão e limitação de trabalho no Fabric Spark permitirá que o trabalho seja ampliado.
Para obter mais informações, confira Limites de simultaneidade e filas nas capacidades do Spark no Microsoft Fabric.
Como funciona a admissão otimista de trabalhos?
No Fabric, os pools iniciais vêm com um mínimo padrão de um nó, enquanto os pools personalizados permitem que você defina 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ínimos e máximos 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 serão aprovadas se o total de núcleos do Spark usados estiver dentro dos limites de capacidade alocados.
Observação
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 trabalho?
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 em execução no momento, 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 o SKU de capacidade F32 da Fabric. 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 trabalho é alocado de acordo com a configuração máxima de nós.
Com a 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 trabalho requer 8 Spark VCores onde uma configuração mínima de nó é de tamanho médio.
Dimensione trabalhos com a escala automática do Spark
Ao habilitar o dimensionamento automático para pools do Spark, os trabalhos são executados com a configuração de nó mínima. Durante o tempo de execução, o dimensionamento pode ocorrer. Essas solicitações 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.
Observação
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 da SKU de capacidade de Fabric. 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 estiver totalmente utilizada, os trabalhos interativos do bloco de anotações poderão ficar lentos ou enfileirados. Os trabalhos em fila são automaticamente repetidos à medida que os núcleos se tornam disponíveis.
Conteúdo relacionado
- Introdução às Configurações de administração do workspace do Spark no Microsoft Fabric.
- Saiba mais sobre engenharia de dados e ciência de dados de computação Spark para o Fabric.
- Saiba mais sobre os Limites de simultaneidade e enfileiramento do Fabric Spark.