En este documento se describe cómo configurar las VMs de trabajador para una tarea de Dataflow.
De forma predeterminada, Dataflow selecciona el tipo de máquina de las VMs de trabajador que ejecutan tu trabajo, así como el tamaño y el tipo de disco persistente. Para configurar las VMs de trabajador, define las siguientes opciones de la canalización al crear el trabajo.
Tipo de máquina
El tipo de máquina de Compute Engine que usa Dataflow al iniciar las VMs de los trabajadores. Puedes usar tipos de máquinas x86 o Arm, incluidos los tipos de máquinas personalizadas.
Java
Define la opción de canalización workerMachineType
.
Python
Define la opción de canalización machine_type
.
Go
Define la opción de canalización worker_machine_type
.
En el caso de Arm, se admite la serie de máquinas Tau T2A. Para obtener más información sobre cómo usar VMs Arm, consulta el artículo Usar VMs Arm en Dataflow.
Los tipos de máquinas de núcleo compartido, como los trabajadores de las series
f1
yg1
, no se admiten en el acuerdo de nivel de servicio de Dataflow.La facturación es independiente de la familia de tipos de máquinas. Para obtener más información, consulta los precios de Dataflow.
Tipos de máquinas personalizadas
Para especificar un tipo de máquina personalizado, utiliza el siguiente formato:
FAMILY-vCPU-MEMORY
. Sustituye lo siguiente:
- FAMILY. Usa uno de los siguientes valores:
Serie de máquinas Valor N1 custom
N2 n2-custom
N2D n2d-custom
N4
En el caso de las tareas de streaming, Streaming Engine debe estar habilitado.
En las tareas por lotes, Shuffle de Dataflow debe estar habilitado (opción predeterminada).n4-custom
E2 e2-custom
- vCPU. El número de vCPUs.
- MEMORY. La memoria, en MB.
Para habilitar la memoria ampliada, añade -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 el artículo Tipos de máquinas personalizadas de la documentación de Compute Engine.
Tipo de disco
El tipo de Persistent Disk que se va a usar.
No especifiques un Persistent Disk cuando utilices Streaming Engine o el tipo de máquina N4.
Java
Define la opción de canalización workerDiskType
.
Python
Define la opción de canalización worker_disk_type
.
Go
Define la opción de canalización disk_type
.
Para especificar el tipo de disco, utiliza el siguiente formato:
compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE
.
Haz los cambios siguientes:
- PROJECT_ID: tu ID de proyecto
- ZONE: la zona del disco persistente, por ejemplo,
us-central1-b
- DISK_TYPE: tipo de disco,
pd-ssd
opd-standard
Para obtener más información, consulta la página de referencia de la API de Compute Engine sobre diskTypes.
Tamaño de disco
El tamaño del disco persistente.
Java
Define la opción de canalización diskSizeGb
.
Python
Define la opción de canalización disk_size_gb
.
Go
Define 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.
Si se reduce el tamaño del disco, se reduce la E/aleatoria disponible. Las tareas vinculadas a Shuffle que no usen Dataflow Shuffle o Streaming Engine pueden provocar un aumento del tiempo de ejecución y del coste de las tareas.
Trabajos por lotes
En el caso de las tareas por lotes que usan Dataflow Shuffle, esta opción define el tamaño del disco de arranque de una VM de trabajador. En las tareas por lotes que no usan Dataflow Shuffle, esta opción define el tamaño de los discos que se usan para almacenar los datos agrupados por clave. El tamaño del disco de arranque no se ve afectado.
Si una tarea por lotes usa Dataflow Shuffle, el tamaño de disco predeterminado es de 25 GB. De lo contrario, el valor predeterminado es 250 GB.
Tareas de streaming
En el caso de las tareas de streaming que usan Streaming Engine, esta opción define el tamaño de los discos de arranque. En el caso de las tareas de streaming que no usan Streaming Engine, esta opción define el tamaño de cada Persistent Disk adicional creado por el servicio Dataflow. El disco de arranque no se ve afectado.
Si un trabajo de streaming no usa Streaming Engine, puedes definir el tamaño del disco de arranque con la marca de 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 procesamiento en streaming usa Streaming Engine, el tamaño de disco predeterminado es de 30 GB. De lo contrario, el valor predeterminado es 400 GB.
Usar Cloud Storage FUSE para montar tus segmentos de Cloud Storage en VMs de Dataflow
Cloud Storage FUSE te permite montar tus segmentos 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 agiliza el acceso a los datos de tus cargas de trabajo. Para obtener más información, consulta Procesar datos de aprendizaje automático con Dataflow y Cloud Storage FUSE.