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
.
Para o Arm, a série de máquinas Tau T2A é compatível. Para mais informações sobre o uso de VMs ARM, consulte Usar VMs ARM no Dataflow.
Os tipos de máquina com núcleo compartilhado, como workers da série
f1
eg1
, não recebem suporte de acordo com o Contrato de nível de serviço do Dataflow.O faturamento não depende da família de tipos de máquinas. Para mais informações, consulte Preços do Dataflow.
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áquina Valor N1 custom
N2 n2-custom
N2D n2d-custom
N4 n4-custom
E2 e2-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
oupd-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.