Configurar VMs de worker do Dataflow

Este documento descreve como configurar as VMs de worker para um job do Dataflow.

Por padrão, o Dataflow seleciona o tipo de máquina para as VMs worker que executam seu job, além do tamanho e do tipo de Persistent Disk. Para configurar as VMs de worker, defina as seguintes opções de pipeline ao criar o job.

Tipo de máquina

O tipo de máquina do Compute Engine que o Dataflow usa ao iniciar VMs de worker. É possível usar tipos de máquina x86 ou Arm, incluindo tipos de máquina personalizados.

Java

Defina a opção de pipeline workerMachineType.

Python

Defina a opção de pipeline machine_type.

Go

Defina a opção de pipeline worker_machine_type.

Tipos de máquina personalizados

Para especificar um tipo de máquina personalizado, use o seguinte formato: FAMILY-vCPU-MEMORY. Substitua o seguinte:

  • FAMILY. Use um dos seguintes valores:
    Série de máquinaValor
    N1custom
    N2n2-custom
    N2Dn2d-custom
    N4n4-custom
    E2e2-custom
  • vCPU: o número de vCPUs.
  • MEMORY: a memória, em MB.

Para ativar a memória estendida, anexando -ext ao tipo de máquina. Exemplos: n2-custom-6-3072, n2-custom-2-32768-ext.

Para mais informações sobre tipos de máquina personalizados válidos, consulte Tipos de máquina personalizados na documentação do Compute Engine.

Tipo de disco

O tipo de disco permanente a ser usado.

Não especifique um Persistent Disk ao usar o Streaming Engine.

Java

Defina a opção de pipeline workerDiskType.

Python

Defina a opção de pipeline worker_disk_type.

Go

Defina a opção de pipeline disk_type.

Para especificar o tipo de disco, use o seguinte formato: compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE.

Substitua:

  • PROJECT_ID: ID do projeto;
  • ZONE: a zona do Persistent Disk, por exemplo, us-central1-b.
  • DISK_TYPE: o tipo de disco, pd-ssd ou pd-standard

Para mais informações, consulte a página de referência da API Compute Engine para diskTypes.

Tamanho do disco

O tamanho do disco permanente.

Java

Defina a opção de pipeline diskSizeGb.

Python

Defina a opção de pipeline disk_size_gb.

Go

Defina a opção de pipeline disk_size_gb.

Se você definir essa opção, especifique pelo menos 30 GB para considerar a imagem de inicialização e os registros locais do worker.

Diminuir o tamanho do disco reduz a E/S aleatória disponível. Jobs com limite aleatório que não usam o Dataflow Shuffle ou o Streaming Engine podem resultar em aumento do tempo de execução e do custo do job.

jobs em lote

Para jobs em lote que usam o Dataflow Shuffle, essa opção define o tamanho do disco de inicialização de uma VM de worker. Para jobs em lote que não usam o Dataflow Shuffle, essa opção define o tamanho dos discos usados para armazenar dados aleatórios. O tamanho do disco de inicialização não é afetado.

Se um job em lote usar o Dataflow Shuffle, o tamanho de disco padrão será de 25 GB. Caso contrário, o padrão é 250 GB.

Jobs de streaming

Para jobs de streaming que usam o Streaming Engine, essa opção define o tamanho dos discos de inicialização. Para jobs de streaming que não usam o Streaming Engine, essa opção define o tamanho de cada Persistent Disk adicional criado pelo serviço Dataflow. O disco de inicialização não é afetado.

Se um job de streaming não usar o Streaming Engine, será possível definir o tamanho do disco de inicialização com a flag experimental streaming_boot_disk_size_gb. Por exemplo, especifique --experiments=streaming_boot_disk_size_gb=80 para criar discos de inicialização de 80 GB.

Se um job de streaming usar o Streaming Engine, o tamanho de disco padrão será 30 GB. Caso contrário, o padrão é 400 GB.

A seguir