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 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
f1yg1, 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 customN2 n2-customN2D n2d-customN4
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-customE2 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 disco persistente 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-ssdopd-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 dependientes de Shuffle que no usen Dataflow Shuffle o Streaming Engine pueden provocar un aumento del tiempo de ejecución y del coste de la tarea.
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.
Plataforma de CPU mínima
Si tienes cargas de trabajo sensibles al rendimiento que dependen de funciones específicas de la CPU, puedes especificar una plataforma de CPU mínima para las VMs de trabajador. Esta opción asegura que los trabajadores de Dataflow usen un procesador que cumpla o supere la generación de CPU especificada.
Para especificar la plataforma de CPU mínima, define la min_cpu_platform
opción de canalización experimental.
El valor debe ser el nombre exacto de la plataforma de CPU seleccionada, como AMD Milan o Intel Ice Lake. Por ejemplo, especifica --experiments=min_cpu_platform='AMD Milan' para definir la plataforma de CPU mínima en AMD Milan. Para ver una lista de las plataformas de CPU mínimas admitidas, consulta Disponibilidad de plataformas de CPU.
Para obtener información sobre las limitaciones, consulta las limitaciones al especificar una plataforma de CPU mínima.
Para verificar que las VMs de trabajador de Dataflow se han creado con la plataforma de CPU mínima especificada, comprueba las entradas de Cloud Logging de la tarea de la siguiente manera:
- Ve a la consola Cloud Logging en la Google Cloud consola.
Usa el siguiente filtro y sustituye la plataforma de CPU de ejemplo y el ID de trabajo de Dataflow por la información de tu trabajo.
resource.type="gce_instance" protoPayload.request.minCpuPlatform="AMD Milan" "dataflow_job_id"Consulta los registros resultantes para confirmar que Dataflow ha especificado correctamente la plataforma de CPU mínima durante el proceso de creación de la VM.
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.