Configura le VM worker Dataflow

Questo documento descrive come configurare le VM worker per un job Dataflow.

Per impostazione predefinita, Dataflow seleziona il tipo di macchina per le VM worker che eseguono il job, nonché le dimensioni e il tipo di Persistent Disk. Per configurare le VM worker, imposta le seguenti opzioni della pipeline quando crei il job.

Tipo di macchina

Il tipo di macchina Compute Engine che Dataflow utilizza quando avvia le VM worker. Puoi utilizzare tipi di macchine x86 o Arm, inclusi i tipi di macchine personalizzate.

Java

Imposta l'opzione pipeline workerMachineType.

Python

Imposta l'opzione pipeline machine_type.

Vai

Imposta l'opzione pipeline worker_machine_type.

Tipi di macchine personalizzate

Per specificare un tipo di macchina personalizzata, utilizza il seguente formato: FAMILY-vCPU-MEMORY. Sostituisci quanto segue:

  • FAMILY. Utilizza uno dei seguenti valori:
    Serie di macchineValore
    N1custom
    N2n2-custom
    N2Dn2d-custom
    N4

    Per i job di streaming, è necessario attivare Streaming Engine.
    Per i job batch, Dataflow Shuffle deve essere abilitato (impostazione predefinita).
    n4-custom
    E2e2-custom
  • vCPU. Il numero di vCPU.
  • MEMORY. La memoria, in MB.

Per attivare la memoria estesa, aggiungi -ext al tipo di macchina. Esempi: n2-custom-6-3072, n2-custom-2-32768-ext.

Per ulteriori informazioni sui tipi di macchine personalizzate validi, consulta la sezione Tipi di macchine personalizzate nella documentazione di Compute Engine.

Tipo di disco

Il tipo di Persistent Disk da utilizzare.

Non specificare un Persistent Disk quando utilizzi Streaming Engine o il tipo di macchina N4.

Java

Imposta l'opzione pipeline workerDiskType.

Python

Imposta l'opzione pipeline worker_disk_type.

Vai

Imposta l'opzione pipeline disk_type.

Per specificare il tipo di disco, utilizza il seguente formato: compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE.

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • ZONE: la zona del Persistent Disk, ad esempio us-central1-b
  • DISK_TYPE: il tipo di disco, pd-ssd o pd-standard

Per saperne di più, consulta la pagina di riferimento dell'API Compute Engine per diskTypes.

Dimensione disco

Le dimensioni del disco permanente.

Java

Imposta l'opzione pipeline diskSizeGb.

Python

Imposta l'opzione pipeline disk_size_gb.

Vai

Imposta l'opzione pipeline disk_size_gb.

Se imposti questa opzione, specifica almeno 30 GB per tenere conto dell'immagine di avvio del worker e dei log locali.

La riduzione delle dimensioni del disco riduce l'I/O di shuffling disponibile. I job vincolati a Shuffle che non utilizzano Dataflow Shuffle o Streaming Engine potrebbero comportare un aumento del runtime e del costo del job.

Job batch

Per i job batch che utilizzano Dataflow Shuffle, questa opzione imposta le dimensioni di un disco di avvio della VM worker. Per i job batch che non utilizzano Dataflow Shuffle, questa opzione imposta le dimensioni dei dischi utilizzati per archiviare i dati sottoposti a shuffling; le dimensioni del disco di avvio non sono interessate.

Se un job batch utilizza Dataflow Shuffle, le dimensioni predefinite del disco sono 25 GB. In caso contrario, il valore predefinito è 250 GB.

Job di streaming

Per i job di streaming che utilizzano Streaming Engine, questa opzione imposta le dimensioni dei dischi di avvio. Per i job di streaming che non utilizzano Streaming Engine, questa opzione imposta le dimensioni di ogniPersistent Diske aggiuntivo creato dal servizio Dataflow; il disco di avvio non è interessato.

Se un job di streaming non utilizza Streaming Engine, puoi impostare la dimensione del disco di avvio con il flag di esperimento streaming_boot_disk_size_gb. Ad esempio, specifica --experiments=streaming_boot_disk_size_gb=80 per creare dischi di avvio da 80 GB.

Se un job di streaming utilizza Streaming Engine, le dimensioni predefinite del disco sono 30 GB. In caso contrario, il valore predefinito è 400 GB.

Piattaforma CPU minima

Se hai workload sensibili alle prestazioni che dipendono da funzionalità specifiche della CPU, puoi specificare una piattaforma CPU minima per le VM worker. Questa opzione garantisce che i worker di Dataflow utilizzino un processore che soddisfi o superi la generazione di CPU specificata.

Per specificare la piattaforma CPU minima, imposta l'min_cpu_platform opzione della pipeline sperimentale. Il valore deve essere il nome esatto della piattaforma CPU selezionata, ad esempio AMD Milan o Intel Ice Lake. Ad esempio, specifica --experiments=min_cpu_platform='AMD Milan' per impostare la piattaforma CPU minima su AMD Milan. Per un elenco delle piattaforme CPU minime supportate, consulta Disponibilità delle piattaforme CPU. Per informazioni sulle limitazioni, vedi Limitazioni quando si specifica una piattaforma CPU minima.

Per verificare che le VM worker Dataflow vengano create con la piattaforma CPU minima specificata, controlla le voci di Cloud Logging per il job nel seguente modo:

  1. Vai alla console Cloud Logging nella console Google Cloud .
  2. Utilizza il seguente filtro e sostituisci la piattaforma CPU di esempio e l'ID job Dataflow con le informazioni relative al tuo job.

    resource.type="gce_instance"
    protoPayload.request.minCpuPlatform="AMD Milan"
    "dataflow_job_id"
    
  3. Esamina i log risultanti per verificare che Dataflow abbia specificato correttamente la piattaforma CPU minima durante il processo di creazione della VM.

Utilizza Cloud Storage FUSE per montare i bucket Cloud Storage sulle VM Dataflow

Cloud Storage FUSE consente di montare i bucket Cloud Storage direttamente con le VM Dataflow, consentendo al software di accedere ai file come se fossero locali. Questa integrazione elimina la necessità di pre-scaricare i dati, semplificando l'accesso ai dati per i tuoi carichi di lavoro. Per saperne di più, consulta Elaborare dati di ML utilizzando Dataflow e Cloud Storage FUSE.

Passaggi successivi