Ce document explique comment configurer les VM de nœud de calcul pour une tâche Dataflow.
Par défaut, Dataflow sélectionne le type de machine pour les VM de calcul qui exécutent votre tâche, ainsi que la taille et le type de disque persistant. Pour configurer les VM de nœuds de calcul, définissez les options de pipeline suivantes lorsque vous créez la tâche.
Type de machine
Type de machine Compute Engine utilisé par Dataflow lors du démarrage des VM de nœud de calcul. Vous pouvez utiliser des types de machines x86 ou Arm, y compris des types de machines personnalisés.
Java
Définissez l'option de pipeline workerMachineType
.
Python
Définissez l'option de pipeline machine_type
.
Go
Définissez l'option de pipeline worker_machine_type
.
Pour Arm, la série de machines Tau T2A est prise en charge. Pour en savoir plus sur l'utilisation des VM basées sur l'architecture ARM, consultez la section Utiliser des VM basées sur l'architecture ARM dans Dataflow.
Les types de machines à cœur partagé, tels que les nœuds de calcul des séries
f1
etg1
, ne sont pas disponibles avec le contrat de niveau de service de Dataflow.La facturation ne dépend pas de la famille du type de machine. Pour en savoir plus, consultez la page Tarifs de Dataflow.
Types de machines personnalisés
Pour spécifier un type de machine personnalisé, utilisez le format suivant : FAMILY-vCPU-MEMORY
. Remplacez les éléments suivants:
- FAMILY. Utilisez l'une des valeurs suivantes:
Série de machines Valeur N1 custom
N2 n2-custom
N2D n2d-custom
N4 n4-custom
E2 e2-custom
- vCPU : nombre de processeurs virtuels.
- MEMORY : quantité de mémoire, exprimée en Mo.
Pour activer la mémoire étendue, ajoutez -ext
au type de machine. Exemples: n2-custom-6-3072
, n2-custom-2-32768-ext
.
Pour en savoir plus sur les types de machines personnalisés valides, consultez la section Types de machines personnalisés dans la documentation Compute Engine.
Type de disque
Type de disque persistant à utiliser.
Ne spécifiez pas de disque persistant lorsque vous utilisez Streaming Engine.
Java
Définissez l'option de pipeline workerDiskType
.
Python
Définissez l'option de pipeline worker_disk_type
.
Go
Définissez l'option de pipeline disk_type
.
Pour spécifier le type de disque, utilisez le format suivant : compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE
.
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet.
- ZONE: zone du disque persistant, par exemple
us-central1-b
- DISK_TYPE: type de disque (
pd-ssd
oupd-standard
)
Pour en savoir plus, consultez la page de référence de l'API Compute Engine pour diskTypes.
Taille du disque
Taille du disque persistant.
Java
Définissez l'option de pipeline diskSizeGb
.
Python
Définissez l'option de pipeline disk_size_gb
.
Go
Définissez l'option de pipeline disk_size_gb
.
Si vous définissez cette option, spécifiez au moins 30 Go pour tenir compte de l'image de démarrage du nœud de calcul et des journaux locaux.
La réduction de la taille du disque réduit les E/S disponibles pour le brassage de données. Les tâches de brassage de données qui n'utilisent ni Dataflow Shuffle, ni Streaming Engine peuvent entraîner une augmentation du temps d'exécution et du coût des tâches.
Jobs par lots
Pour les tâches par lots utilisant Dataflow Shuffle, cette option définit la taille du disque de démarrage d'une VM de calcul. Pour les tâches par lots qui n'utilisent pas Dataflow Shuffle, cette option définit la taille des disques utilisés pour stocker les données brassées. La taille du disque de démarrage n'est pas affectée.
Si une job par lot utilise Dataflow Shuffle, la taille de disque par défaut est de 25 Go. Sinon, la valeur par défaut est de 250 Go.
Tâches traitées par flux
Pour les tâches de streaming utilisant Streaming Engine, cette option définit la taille des disques de démarrage. Pour les tâches de streaming qui n'utilisent pas Streaming Engine, cette option définit la taille de chaque disque persistant supplémentaire créé par le service Dataflow. Le disque de démarrage n'est pas affecté.
Si une tâche de streaming n'utilise pas Streaming Engine, vous pouvez définir la taille du disque de démarrage avec l'option streaming_boot_disk_size_gb
(en cours de test). Par exemple, spécifiez --experiments=streaming_boot_disk_size_gb=80
pour créer des disques de démarrage de 80 Go.
La taille de disque par défaut est de 30 Go pour les tâches de streaming qui utilisent Streaming Engine. Sinon, la valeur par défaut est de 400 Go.