Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:✅ Engenharia de Dados de Tecido e Ciência de Dados
Engenharia de Dados Fabric e Ciência de Dados funcionam numa plataforma computacional totalmente gerida do Apache Spark. Os pools iniciais proporcionam um arranque rápido de sessões, normalmente em 5 a 10 segundos, sem configuração manual. Pools personalizados do Spark permitem-te ajustar o tamanho dos nós, o comportamento de escalonamento e outras definições de computação para a tua carga de trabalho. Em suma, os pools iniciais fornecem Spark rápido e pré-configurado, enquanto os pools personalizados proporcionam controlo e flexibilidade mais profundos.
Piscinas de arranque
Os starter pools são uma forma rápida e fácil de usar o Spark na plataforma Microsoft Fabric em segundos. Você pode usar as sessões do Spark imediatamente, em vez de esperar que o Spark configure os nós para você, o que ajuda você a fazer mais com dados e obter insights mais rapidamente.
Os pools iniciais têm clusters Apache Spark com sessões que estão sempre ativas e prontas para suas solicitações. Eles usam nós de tamanho médio que se ajustam dinamicamente com base nas suas necessidades de tarefas do Spark.
Quando usas um pool inicial sem dependências extra de biblioteca ou propriedades personalizadas do Spark, a tua sessão normalmente começa em 5 a 10 segundos. Essa inicialização rápida é possível porque o cluster já está em execução e não requer tempo de provisionamento.
Nota
Os pools iniciais suportam apenas nós de tamanho médio. Se selecionar um tamanho de nó diferente ou personalizar configurações de computação, o Fabric utiliza o início de sessão a pedido, que pode demorar entre 2 e 5 minutos.
No entanto, existem vários cenários em que a sua sessão pode demorar mais a começar.
Bibliotecas personalizadas ou propriedades do Spark: Se configurou bibliotecas ou definições personalizadas no seu ambiente, o Spark tem de personalizar a sessão assim que é criada. Esse processo pode adicionar cerca de 30 segundos a 5 minutos ao seu tempo de inicialização, dependendo do número e tamanho das dependências da biblioteca.
Os pools iniciais na sua região são totalmente utilizados: Em casos raros, os pools iniciais de uma região podem ficar temporariamente esgotados devido ao grande tráfego. Quando isso acontece, o Fabric cria um novo cluster para acomodar sua solicitação, o que leva cerca de de 2 a 5 minutos. Assim que o novo cluster estiver disponível, a sessão será iniciada. Se também tiveres bibliotecas personalizadas para instalar, adiciona os 30 segundos a 5 minutos adicionais necessários para personalização.
Funcionalidades avançadas de rede ou segurança (Ligações Privadas ou VNets Geridos): Quando o seu espaço de trabalho tem funcionalidades de rede como Ligações Privadas de Inquilino ou VNets Geridos, os pools iniciais não são suportados. Nessa situação, o Fabric deve criar um cluster a pedido, que adiciona de 2 a 5 minutos ao tempo de início da sessão. Se também tiveres dependências de bibliotecas, esse passo de personalização pode acrescentar mais 30 segundos a 5 minutos.
Aqui estão alguns cenários de exemplo para ilustrar possíveis horários de início:
| Cenário | Tempo de inicialização típico |
|---|---|
| Configurações padrão, nenhuma biblioteca | 5 – 10 segundos |
| Configurações padrão + dependências da biblioteca | 5 – 10 segundos + 30 segundos – 5 min (para configuração da biblioteca) |
| Alto tráfego na região, sem bibliotecas | 2 – 5 minutos |
| Alto tráfego + dependências de biblioteca | 2 – 5 minutos + 30 segundos – 5 min (para bibliotecas) |
| Segurança de rede (Private Links/VNet), sem bibliotecas | 2 – 5 minutos |
| Segurança de rede + dependências de biblioteca | 2 – 5 minutos + 30 segundos – 5 min (para bibliotecas) |
Quando se trata de faturamento e consumo de capacidade, você é cobrado pelo consumo de capacidade quando começa a executar sua definição de trabalho do notebook ou do Apache Spark. Você não pagará pelo tempo que os clusters estiverem inativos no pool.
Por exemplo, se você enviar um trabalho de bloco de anotações para um pool inicial, será cobrado apenas pelo período em que a sessão do bloco de anotações estiver ativa. O tempo faturado não inclui o tempo de inatividade nem o tempo necessário para personalizar a sessão com o contexto do Spark. Para saber mais, consulte Configurar pools iniciais no Fabric.
Conjuntos de Spark
Um pool do Spark é uma maneira de dizer ao Spark que tipo de recursos você precisa para suas tarefas de análise de dados. Você pode dar um nome ao seu pool Spark e escolher quantos e quão grandes são os nós (as máquinas que fazem o trabalho). Você também pode dizer ao Spark como ajustar o número de nós dependendo de quanto trabalho você tem. A criação de um pool Spark é gratuita; você só paga quando executa um trabalho do Spark no pool, momento em que o Spark configura os nós para você.
Se você não usar sua piscina Spark por 2 minutos após a sessão expirar, sua piscina Spark será deslocalizada. Esse período de tempo de expiração da sessão padrão é definido como 20 minutos e você pode alterá-lo se desejar. Se você for um administrador de espaço de trabalho, também poderá criar pools do Spark personalizados para seu espaço de trabalho e torná-los a opção padrão para outros usuários. Desta forma, pode poupar tempo e evitar configurar um novo grupo Spark sempre que executar um notebook ou um trabalho Spark. Pools personalizados do Spark demoram cerca de três minutos a começar, porque o Spark tem de obter os nós do Azure.
Você pode até mesmo criar pools Spark de nó único, definindo o número mínimo de nós para um, para que o driver e o executor sejam executados em um único nó que vem com HA restaurável e é adequado para pequenas cargas de trabalho.
O tamanho e número de nós que podes ter no teu pool personalizado do Spark dependem da capacidade do teu Microsoft Fabric. A capacidade é uma medida de quanta potência computacional pode usar. Uma forma de pensar nisso é que dois vCores Apache Spark (uma unidade de computação Spark) equivalem a uma unidade de capacidade.
Nota
No Apache Spark, os utilizadores recebem dois vCores Apache Spark por cada unidade de capacidade que reservam como parte do seu SKU. Uma unidade de capacidade = dois Spark vCores. Por exemplo, F64 dá 128 vCores Spark, e um multiplicador de rajada 3x aumenta este valor para 384 vCores Spark.
Por exemplo, um SKU F64 de capacidade Fabric tem 64 unidades de capacidade, o que equivale a 384 Spark VCores (64 * 2 * 3X Burst Multiplier). Você pode usar esses Spark VCores para criar nós de tamanhos diferentes para seu pool Spark personalizado, desde que o número total de Spark VCores não exceda 384.
Os pools Spark são cobrados como pools iniciais; não paga pelos pools Spark personalizados que criou, a menos que tenha uma sessão ativa do Spark criada para executar um notebook ou uma definição de trabalho do Spark. Você só é cobrado pela duração das suas tarefas. Você não será cobrado por fases como a criação e desalocação do cluster após a conclusão do trabalho.
Por exemplo, se você enviar um trabalho de bloco de anotações para um pool personalizado do Spark, será cobrado apenas pelo período de tempo em que a sessão estiver ativa. A faturação dessa sessão do notebook termina quando a sessão do Spark termina ou expira. Você não é cobrado pelo tempo necessário para adquirir instâncias de cluster da nuvem ou pelo tempo necessário para inicializar o contexto do Spark.
Possíveis configurações de pool personalizadas para F64 com base no exemplo anterior. Tamanhos menores de unidades têm capacidade distribuída por mais unidades, por isso o número máximo de unidades é superior. Considerando que nós maiores são ricos em recursos, portanto, menos nós são necessários:
| Capacidade de tecido SKU | Unidades de capacidade | Max Spark VCores com Fator de Explosão | Tamanho do nó | Número máximo de nós |
|---|---|---|---|---|
| F64 | 64 | 384 | Pequena | 96 |
| F64 | 64 | 384 | Médio | 48 |
| F64 | 64 | 384 | Grande | 24 |
| F64 | 64 | 384 | X-Grande | 12 |
| F64 | 64 | 384 | XX-Grande | 6 |
Nota
Para criar pools personalizados, precisas de permissões de administrador para o espaço de trabalho. O administrador de capacidade do Microsoft Fabric também deve conceder permissões que permitam aos administradores de espaço de trabalho dimensionar pools personalizados do Spark. Para saber mais, consulte Comece com piscinas Spark personalizadas em Fabric.
Nodos
Uma instância de pool Apache Spark consiste num nó cabeça e em um ou mais nós trabalhadores. Uma instância do Spark pode iniciar com, no mínimo, um nó. O nó principal executa serviços de gestão como Livy, YARN Resource Manager, ZooKeeper e o driver Apache Spark. Todos os nós executam serviços como o Node Agent e o YARN Node Manager. Todos os nós de trabalho executam o serviço Apache Spark Executor.
Nota
No Fabric, a proporção de nós para executores é sempre de 1:1. Quando você configura um pool, um nó é dedicado ao driver e os nós restantes são usados para os executores. A única exceção é em uma configuração de nó único, onde os recursos para o driver e o executor são reduzidos pela metade.
Tamanhos dos nós
Um pool Spark pode ser definido com tamanhos de nó que variam de um nó de computação pequeno (com 4 vCore e 32 GB de memória) a um nó de computação extra grande duplo (com 64 vCore e 512 GB de memória por nó). Os tamanhos dos nós podem ser alterados após a criação do pool, embora a sessão ativa tenha que ser reiniciada.
| Tamanho | vCore | Memória |
|---|---|---|
| Pequena | 4 | 32 GB |
| Médio | 8 | 64 GB |
| Grande | 16 | 128 GB |
| X-Grande | 32 | 256 GB |
| XX-Grande | 64 | 512 GB |
Nota
Os tamanhos de nó X-Large e XX-Large só são permitidos para SKUs de malha não experimentais.
Escala automática
O dimensionamento automático para pools do Apache Spark permite aumentar e diminuir automaticamente o escalonamento de recursos de computação com base na quantidade de atividade. Ao habilitar o recurso de dimensionamento automático, você define o número mínimo e máximo de nós para dimensionar. Quando você desabilita o recurso de dimensionamento automático, o número de nós definidos permanece fixo. Você pode alterar essa configuração após a criação do pool, embora talvez seja necessário reiniciar a instância.
Nota
Por padrão, spark.yarn.executor.decommission.enabled é definido como true, permitindo o desligamento automático de nós subutilizados para otimizar a eficiência de computação. Se for preferível um redimensionamento menos agressivo, a configuração pode ser definida como 'falso'.
Repartição dinâmica
A alocação dinâmica permite que o aplicativo Apache Spark solicite mais executores se as tarefas excederem a carga que os executores atuais podem suportar. Ele também libera os executores quando os trabalhos são concluídos e se o aplicativo Spark está se movendo para o estado ocioso. Os usuários corporativos geralmente acham difícil ajustar as configurações do executor porque elas são muito diferentes em diferentes estágios de um processo de execução de trabalho do Spark. Essas configurações também dependem do volume de dados processados, que muda de tempos em tempos. Você pode habilitar a opção de alocação dinâmica de executores como parte da configuração do pool, que permite a alocação automática de executores para o aplicativo Spark com base nos nós disponíveis no pool do Spark.
Quando você habilita a opção de alocação dinâmica para cada aplicativo Spark enviado, o sistema reserva executores durante a etapa de envio de trabalho com base nos nós mínimos. Você especifica nós máximos para oferecer suporte a cenários de dimensionamento automático bem-sucedidos.
Conteúdos relacionados
- Comece com as definições de Engenharia de Dados e Administração de Ciência de Dados para a sua capacidade no Fabric
- Definições de administração do espaço de trabalho do Apache Spark no Microsoft Fabric