Configure VMs de trabalho do Dataflow

Este documento descreve como configurar as VMs de trabalho para uma tarefa do Dataflow.

Por predefinição, o Dataflow seleciona o tipo de máquina para as VMs de trabalho que executam a sua tarefa, juntamente com o tamanho e o tipo de disco persistente. Para configurar as VMs de trabalho, defina as seguintes opções de pipeline quando criar a tarefa.

Tipo de máquina

O tipo de máquina do Compute Engine que o Dataflow usa ao iniciar VMs de trabalho. Pode usar tipos de máquinas x86 ou Arm, incluindo tipos de máquinas personalizados.

Java

Defina a workerMachineTypeopção de tubagem.

Python

Defina a machine_typeopção de tubagem.

Ir

Defina a worker_machine_typeopção de tubagem.

Tipos de máquinas 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áquinasValor
    N1custom
    N2n2-custom
    N2Dn2d-custom
    N4

    Para tarefas de streaming, o Streaming Engine tem de estar ativado.
    Para tarefas em lote, a opção Dataflow shuffle tem de estar ativada (predefinição).
    n4-custom
    E2e2-custom
  • vCPU. O número de vCPUs.
  • MEMORY. A memória, em MB.

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

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

Tipo de disco

O tipo de Persistent Disk a usar.

Não especifique um disco persistente quando usar o Streaming Engine ou o tipo de máquina N4.

Java

Defina a workerDiskTypeopção de tubagem.

Python

Defina a worker_disk_typeopção de tubagem.

Ir

Defina a disk_typeopção de tubagem.

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

Substitua o seguinte:

  • PROJECT_ID: o ID do seu 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 Persistent Disk.

Java

Defina a diskSizeGbopção de tubagem.

Python

Defina a disk_size_gbopção de tubagem.

Ir

Defina a disk_size_gbopção de tubagem.

Se definir esta opção, especifique, pelo menos, 30 GB para ter em conta a imagem de arranque do trabalhador e os registos locais.

Diminuir o tamanho do disco reduz a E/S aleatória disponível. Os trabalhos associados à mistura que não usam a mistura do Dataflow ou o Streaming Engine podem resultar num aumento do tempo de execução e do custo do trabalho.

Tarefas de lote

Para tarefas de lotes que usam o Dataflow Shuffle, esta opção define o tamanho de um disco de arranque da VM do trabalhador. Para tarefas em lote que não usam o Dataflow Shuffle, esta opção define o tamanho dos discos usados para armazenar dados aleatórios. O tamanho do disco de arranque não é afetado.

Se um trabalho em lote usar o Dataflow Shuffle, o tamanho do disco predefinido é de 25 GB. Caso contrário, o valor predefinido é 250 GB.

Empregos na área do streaming

Para tarefas de streaming que usam o Streaming Engine, esta opção define o tamanho dos discos de arranque. Para tarefas de streaming que não usam o Streaming Engine, esta opção define o tamanho de cada disco persistente adicional criado pelo serviço Dataflow. O disco de arranque não é afetado.

Se uma tarefa de streaming não usar o Streaming Engine, pode definir o tamanho do disco de arranque com a flag de experiência streaming_boot_disk_size_gb. Por exemplo, especifique --experiments=streaming_boot_disk_size_gb=80 para criar discos de arranque de 80 GB.

Se uma tarefa de streaming usar o Streaming Engine, o tamanho do disco predefinido é de 30 GB. Caso contrário, a predefinição é 400 GB.

Plataforma de CPU mínima

Se tiver cargas de trabalho sensíveis ao desempenho que dependam de funcionalidades específicas da CPU, pode especificar uma plataforma de CPU mínima para VMs de trabalho. Esta opção garante que os trabalhadores do Dataflow usam um processador que cumpre ou excede a geração de CPU especificada.

Para especificar a plataforma de CPU mínima, defina a min_cpu_platform opção de pipeline experimental. O valor tem de ser o nome exato da plataforma de CPU selecionada, como AMD Milan ou Intel Ice Lake. Por exemplo, especifique --experiments=min_cpu_platform='AMD Milan' para definir a plataforma da CPU mínima como AMD Milan. Para ver uma lista das plataformas de CPU mínimas suportadas, consulte o artigo Disponibilidade de plataformas de CPU. Para obter informações sobre as limitações, consulte as limitações ao especificar uma plataforma de CPU mínima.

Para verificar se as VMs do worker do Dataflow são criadas com a plataforma de CPU mínima especificada, verifique as entradas do Cloud Logging da tarefa da seguinte forma:

  1. Navegue para a consola do Cloud Logging na Google Cloud consola.
  2. Use o filtro seguinte e substitua a plataforma de CPU de exemplo e o ID da tarefa do Dataflow pelas informações da sua tarefa.

    resource.type="gce_instance"
    protoPayload.request.minCpuPlatform="AMD Milan"
    "dataflow_job_id"
    
  3. Analise os registos resultantes para confirmar que o Dataflow especificou com êxito a plataforma de CPU mínima durante o processo de criação da VM.

Use o FUSE do Cloud Storage para montar os seus contentores do Cloud Storage em VMs do Dataflow

O Cloud Storage FUSE permite-lhe montar diretamente os seus contentores do Cloud Storage com VMs do Dataflow, o que permite que o software aceda aos ficheiros como se fossem locais. Esta integração elimina a necessidade de pré-transferir dados, o que simplifica o acesso aos dados para as suas cargas de trabalho. Para mais informações, consulte o artigo Processar dados de ML com o Dataflow e o FUSE do Cloud Storage.

O que se segue?