Configurer les VM de nœuds de calcul Dataflow

Ce document explique comment configurer les VM de nœud de calcul pour un job Dataflow.

Par défaut, Dataflow sélectionne le type de machine pour les VM de nœud de calcul qui exécutent votre job, ainsi que la taille et le type de disque persistant. Pour configurer les VM de nœud de calcul, définissez les options de pipeline suivantes lorsque vous créez le job.

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.

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 machinesValeur
    N1custom
    N2n2-custom
    N2Dn2d-custom
    N4

    Pour les jobs de traitement par flux, Streaming Engine doit être activé.
    Pour les jobs par lot, Dataflow Shuffle doit être activé (par défaut).
    n4-custom
    E2e2-custom
  • vCPU : nombre de processeurs virtuels.
  • MEMORY : quantité de mémoire, exprimée en Mo.

Pour activer l'extension de mémoire, 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 Types de machines personnalisés dans la documentation Compute Engine.

Type de disque

Type de Persistent Disk à utiliser.

Ne spécifiez pas de disque persistant lorsque vous utilisez Streaming Engine ou le type de machine N4.

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 ou pd-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 nœud 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 un 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 qui utilisent 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é.

Vous pouvez définir la taille du disque de démarrage avec l'option streaming_boot_disk_size_gb (en cours de test) pour les tâches de streaming qui n'utilisent pas Streaming Engine. Par exemple, spécifiez --experiments=streaming_boot_disk_size_gb=80 pour créer des disques de démarrage de 80 Go.

Si une tâche de streaming utilise Streaming Engine, la taille de disque par défaut est de 30 Go. Sinon, la valeur par défaut est de 400 Go.

Configuration minimale de la plate-forme du CPU

Si vous avez des charges de travail sensibles aux performances qui dépendent de fonctionnalités de processeur spécifiques, vous pouvez spécifier une configuration minimale de plate-forme de processeur pour les VM de nœud de calcul. Cette option garantit que les nœuds de calcul Dataflow utilisent un processeur qui répond à la génération de processeur spécifiée ou la dépasse.

Pour spécifier la configuration minimale de plate-forme de processeur, définissez l'min_cpu_platform option de pipeline expérimental. La valeur doit correspondre au nom exact de la plate-forme de processeur sélectionnée, tel que AMD Milan ou Intel Ice Lake. Par exemple, spécifiez --experiments=min_cpu_platform='AMD Milan' pour définir la configuration minimale de la plate-forme de processeur sur AMD Milan. Pour obtenir la liste des plates-formes de processeur minimales compatibles, consultez Disponibilité des plates-formes de processeur. Pour en savoir plus sur les limites, consultez Limites lorsque vous spécifiez une configuration minimale de plate-forme de processeur.

Pour vérifier que les VM de nœud de calcul Dataflow sont créées avec la plate-forme de processeur minimale spécifiée, consultez les entrées Cloud Logging pour le job comme suit :

  1. Accédez à la console Cloud Logging dans la console Google Cloud .
  2. Utilisez le filtre suivant et remplacez l'exemple de plate-forme de processeur et d'ID de job Dataflow par les informations de votre job.

    resource.type="gce_instance"
    protoPayload.request.minCpuPlatform="AMD Milan"
    "dataflow_job_id"
    
  3. Consultez les journaux obtenus pour vérifier que Dataflow a bien spécifié la configuration minimale de la plate-forme de processeur lors de la création de la VM.

Utiliser Cloud Storage FUSE pour installer vos buckets Cloud Storage sur les VM Dataflow

Cloud Storage FUSE vous permet d'installer vos buckets Cloud Storage directement avec les VM Dataflow, ce qui permet aux logiciels d'accéder aux fichiers comme s'ils étaient locaux. Cette intégration élimine la nécessité de pré-télécharger les données, ce qui simplifie l'accès aux données pour vos charges de travail. Pour en savoir plus, consultez Traiter les données de ML à l'aide de Dataflow et de Cloud Storage FUSE.

Étapes suivantes