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 e Ciência de Dados no Microsoft Fabric
As experiências de Engenharia de Dados e Ciência de Dados do Microsoft Fabric operam em uma plataforma de computação Apache Spark totalmente gerenciada. Esta plataforma foi concebida para proporcionar uma velocidade e eficiência incomparáveis. Com pools iniciais, você pode esperar uma inicialização rápida da sessão do Apache Spark, normalmente dentro de 5 a 10 segundos, sem necessidade de configuração manual. Você também tem a flexibilidade de personalizar pools do Apache Spark de acordo com seus requisitos específicos de engenharia de dados e ciência de dados. A plataforma permite uma experiência analítica otimizada e personalizada. Em suma, um pool inicial é uma maneira rápida de usar o Spark pré-configurado, enquanto um pool Spark oferece personalização e flexibilidade.
Piscinas de arranque
Os pools iniciais são uma maneira 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 de Iniciantes sem dependências extras de biblioteca ou propriedades do Spark personalizadas, a tua sessão normalmente inicia 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 são suportados apenas para tamanhos de nós médios, e a seleção de quaisquer outros tamanhos de nó ou a personalização de configurações de computação resultará em uma experiência de início de sessão sob demanda, que pode levar de 2 a 5 minutos
No entanto, há vários cenários em que sua sessão pode levar mais tempo para iniciar:
Você tem bibliotecas personalizadas ou propriedades do Spark
Se você configurou bibliotecas ou configurações personalizadas em seu ambiente, o Spark precisa personalizar a sessão depois que ela for 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.Starter Pools na sua região estão totalmente utilizados
Em casos raros, as piscinas iniciais de uma região podem estar temporariamente esgotadas devido ao tráfego intenso. 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 você também tiver bibliotecas personalizadas para instalar, precisará adicionar o adicional de 30 segundos a 5 minutos necessário para personalização.Recursos avançados de rede ou segurança (links privados ou redes virtuais gerenciadas)
Quando seu espaço de trabalho tem recursos de rede, como de Links Privados do Locatário ou de VNets Gerenciadas, 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 você também tiver dependências de biblioteca, essa etapa de personalização poderá adicionar novamente 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 ocioso ou o tempo necessário para personalizar a sessão com o contexto do Spark. Para saber mais, consulte como 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. Os pools personalizados do Spark levam cerca de três minutos para iniciar, porque o Spark deve 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 o número de nós que você pode ter em seu pool personalizado do Spark dependem da capacidade do Microsoft Fabric. A capacidade é uma medida de quanto poder de computação você pode usar no Azure. Uma maneira de pensar nisso é que dois Apache Spark VCores (uma unidade de poder de computação para o Spark) equivalem a uma unidade de capacidade.
Nota
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 Assim, F64 => 128 Spark VCores e em que é aplicado um multiplicador de Burst de 3x, o que resulta num total de 384 Spark VCores.
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, você precisa de permissões de administrador para o espaço de trabalho. E o administrador de capacidade do Microsoft Fabric deve conceder permissões para permitir que os administradores do espaço de trabalho dimensionem seus pools Spark personalizados. Para saber mais, consulte Introdução aos pools Spark personalizados no Fabric.
Nodos
Uma instância de pool do Apache Spark consiste num nó principal e nós de trabalho. Pode começar com um mínimo de um nó numa instância do Spark. O nó principal executa serviços de gestão adicionais, como o Livy, o Yarn Resource Manager, o Zookeeper, e o driver do Apache Spark. Todos os nós executam serviços como Node Agent e 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.