Dimensionando o Aplicativo do Serviço Data Flow

Toda vez que você executa um Aplicativo do serviço Data Flow, você especifica um tamanho e um número de executores que, por sua vez, decidem o número de OCPUs usadas para executar o aplicativo Spark.

Uma OCPU é igual a um núcleo de CPU, que por si só é igual a dois vCPUs. Consulte Shapes de Computação para obter mais informações sobre quantas OCPUs cada forma contém.

Um indicador aproximado é considerar 10 GB de dados processados por OCPU por hora. Formatos de dados otimizados, como o Parquet, parecem ser executados muito mais rápido porque apenas um pequeno subconjunto de dados é processado. A fórmula para calcular o número de OCPUs necessárias, supondo que 10 GB de dados processados por OCPU por hora, é:
<Number_of_OCPUs> = <Processed_Data_in_GB> / (10 * <Desired_runtime_in_hours>)
Por exemplo, para processar 1 TB de dados com um SLA de 30 minutos, espere usar cerca de 200 OCPUs:
<Number_of_OCPUs> = 1024 / (10 * 0.5) = 204.8

Você pode alocar 200 OCPUs de várias maneiras. Por exemplo, você pode selecionar uma forma de executor de VM.Standard2.8 e 25 no total de executores para 8 * 25 = 200 total de OCPUs.

Essa fórmula é uma estimativa aproximada e os runtimes podem variar. Você pode estimar melhor a taxa de processamento real da carga de trabalho carregando o Aplicativo e exibindo o histórico de Execuções do Aplicativo. Esse histórico permite ver o número de OCPUs usadas, o total de dados processados e o runtime, permitindo estimar os recursos necessários para atender aos SLAs. A partir daí, você estima a quantidade de dados que uma Execução processa e o tamanho apropriado da Execução.
Observação

O número de OCPUs é limitado pela forma de VM escolhida e pelo valor definido na tenancy para VM.Total. Não é possível usar mais VMs em todas as formas de VM do que o valor em VM.Total. Por exemplo, se cada forma de VM estiver definida como 20 e a opção VM.Total estiver definida como 20, não será possível usar mais de 20 VMs em todas as formas de VM. Com formas flexíveis, nas quais o limite é medido como núcleos ou OCPUs, 80 núcleos em uma forma flexível são iguais às formas 10 VM.Standard2.8. Consulte Limites de Serviço para obter mais informações.

Formas de Computação Flexíveis

O serviço Data Flow suporta formas de computação flexíveis para jobs do Spark.

As seguintes formas de computação flexíveis são suportadas:
  • VM.Standard3.Flex (Intel)
  • VM.StandardE3.Flex (AMD)
  • VM.StandardE4.Flex (AMD)
  • VM.Standard.A1.Flex (processador Arm do Ampere)
Para obter mais informações sobre formas de computação flexíveis, consulte a documentação do Compute.
Ao criar um aplicativo ou editar um aplicativo, selecione a forma flexível do driver e do executor. Para cada seleção de OCPU, você pode selecionar a opção de memória flexível.
Observação

O driver e o executor devem ter a mesma forma.

Migrando Aplicativos das Formas de Computação VM.Standard2

Siga estas etapas ao migrar seus aplicativos existentes do serviço Data Flow de VM.Standard2 para formas de computação flexíveis.

  1. Solicite os limites para sua escolha de forma flexível.
    A contagem de OCPUs define os limites de forma flexível. Com as formas de computação VM.Standard2, a contagem de nós define os limites. Por exemplo, se você tiver um aplicativo que use 16 OCPUs para driver e 16 OCPUs para um executor, solicite 32 OCPUs em sua solicitação de aumento de limite.
  2. (Opcional) Se você espera executar mais jobs simultâneos em diferentes formas, solicite mais Vm.Total.
  3. Ao criar um aplicativo ou editar um aplicativo, selecione a forma flexível do driver e do executor.
    Observação

    O driver e o executor devem ter a mesma forma.
  4. (Opcional) Para cada seleção de OCPU, selecione a opção de memória flexível.