Configura VMs de trabajador de Dataflow

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

De forma predeterminada, Dataflow selecciona el tipo de máquina para las VMs de trabajador que ejecutan tu trabajo, junto con el tamaño y el tipo de Persistent Disk. Para configurar las VMs de trabajador, 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 personalizado de máquina, 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
    N4

    Para los trabajos de transmisión, se debe habilitar Streaming Engine.
    Para los trabajos por lotes, se debe habilitar Dataflow Shuffle (opción predeterminada).
    n4-custom
    E2e2-custom
  • vCPU: Es la cantidad de CPU virtuales.
  • MEMORY: 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 personalizadas válidos, consulta Tipos de máquinas personalizadas en la documentación de Compute Engine.

Tipo de disco

Es el tipo de Persistent Disk que se usará.

No especifiques un Persistent Disk cuando uses Streaming Engine o el tipo de máquina N4.

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 del 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

Es 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 disminuye la redistribución de E/S disponible. Los trabajos vinculados a Shuffle que no usan Dataflow Shuffle o Streaming Engine pueden aumentar el tiempo 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 de un disco de arranque de 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 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 400 GB.

Usa Cloud Storage FUSE para activar tus buckets de Cloud Storage en las VMs de Dataflow

Cloud Storage FUSE te permite activar tus buckets de Cloud Storage directamente con las VMs de Dataflow, lo que permite que el software acceda a los archivos como si fueran locales. Esta integración elimina la necesidad de descargar datos previamente, lo que optimiza el acceso a los datos para tus cargas de trabajo. Para obtener más información, consulta Procesa datos de AA con Dataflow y Cloud Storage FUSE.

¿Qué sigue?