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
.
En el caso de Arm, se admite la serie de máquinas Tau T2A. Para obtener más información sobre el uso de VMs de Arm, consulta Cómo usar VMs de Arm en Dataflow.
Los tipos de máquinas de núcleo compartido, como los trabajadores de las series
f1
yg1
, no son compatibles con 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 Precios de Dataflow.
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áquinas Valor N1 custom
N2 n2-custom
N2D n2d-custom
N4 n4-custom
E2 e2-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
opd-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.