Configura VMs de trabajador de Dataflow

En este documento, se describe cómo configurar las VMs de trabajo para un trabajo de Dataflow.

De forma predeterminada, Dataflow selecciona el tipo de máquina para las VMs de trabajo que ejecutan tu trabajo, junto con el tamaño y el tipo de Persistent Disk. Para configurar las VMs de trabajo, establece las siguientes opciones de canalización cuando crees el trabajo.

Tipo de máquina

El tipo de máquina de Compute Engine que usa Dataflow cuando inicia las VMs de trabajador. Puedes usar tipos de máquinas x86 o Arm, incluidos los tipos personalizados de máquinas.

Java

Establece la opción de canalización workerMachineType.

Python

Establece la opción de canalización machine_type.

Go

Establece la opción de canalización worker_machine_type.

Tipos personalizados de máquinas

Para especificar un tipo de máquina personalizado, usa el siguiente formato: FAMILY-vCPU-MEMORY. Reemplaza lo siguiente:

  • FAMILY. Usa uno de los siguientes valores:
    Series de máquinasValor
    N1custom
    N2n2-custom
    N2Dn2d-custom
    N4n4-custom
    E2e2-custom
  • vCPU: Es la cantidad de CPU virtuales.
  • MEMORY: Es la memoria, en MB.

Para habilitar la memoria extendida, agrega -ext al tipo de máquina. Ejemplos: n2-custom-6-3072, n2-custom-2-32768-ext.

Para obtener más información sobre los tipos de máquinas personalizados válidos, consulta Tipos de máquinas personalizados en la documentación de Compute Engine.

Tipo de disco

El tipo de disco persistente que se usará.

No especifiques un Persistent Disk cuando uses Streaming Engine.

Java

Establece la opción de canalización workerDiskType.

Python

Establece la opción de canalización worker_disk_type.

Go

Establece la opción de canalización disk_type.

Para especificar el tipo de disco, usa el siguiente formato: compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE.

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • ZONE: Es la zona para el Persistent Disk, por ejemplo, us-central1-b.
  • DISK_TYPE: Es el tipo de disco, ya sea pd-ssd o pd-standard.

Si quieres obtener más información, consulta la página de referencia de la API de Compute Engine para diskTypes.

Tamaño del disco

El tamaño del disco persistente

Java

Establece la opción de canalización diskSizeGb.

Python

Establece la opción de canalización disk_size_gb.

Go

Establece la opción de canalización disk_size_gb.

Si configuras esta opción, especifica al menos 30 GB para tener en cuenta la imagen de arranque del trabajador y los registros locales.

Reducir el tamaño del disco reduce la E/S aleatoria disponible. Los trabajos vinculados a Shuffle que no usan Dataflow Shuffle o Streaming Engine pueden aumentar el entorno de ejecución y el costo del trabajo.

los trabajos por lotes

Para los trabajos por lotes que usan Dataflow Shuffle, esta opción establece el tamaño del disco de arranque de una VM de trabajador. En los trabajos por lotes que no usan Dataflow Shuffle, esta opción establece el tamaño de los discos que se usan para almacenar datos aleatorios; el tamaño del disco de arranque no se ve afectado.

Si un trabajo por lotes usa Dataflow Shuffle, el tamaño de disco predeterminado es de 25 GB. De lo contrario, el valor predeterminado es de 250 GB.

Trabajos de transmisión

En los trabajos de transmisión que usan Streaming Engine, esta opción establece el tamaño de los discos de arranque. En los trabajos de transmisión que no usan Streaming Engine, esta opción establece el tamaño de cada Persistent Disk adicional que crea el servicio de Dataflow; el disco de arranque no se ve afectado.

Si un trabajo de transmisión no usa Streaming Engine, puedes establecer el tamaño del disco de arranque con la marca del experimento streaming_boot_disk_size_gb. Por ejemplo, especifica --experiments=streaming_boot_disk_size_gb=80 para crear discos de arranque de 80 GB.

Si un trabajo de transmisión usa Streaming Engine, el tamaño de disco predeterminado es de 30 GB. De lo contrario, el valor predeterminado es de 400 GB.

¿Qué sigue?