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 della pipeline workerMachineType.

Python

Imposta l'opzione della pipeline machine_type.

Vai

Imposta l'opzione della pipeline worker_machine_type.

  • Per Arm, è supportata la serie di macchine Tau T2A. Per ulteriori informazioni sull'utilizzo delle VM Arm, consulta Utilizzare le VM Arm in Dataflow.

  • I tipi di macchine con corecondivisi (ad esempio f1-micro, g1-small, e2-micro, e2-small ed e2-medium) non sono consigliati per i job Dataflow e non sono supportati ai sensi del contratto di servizio Dataflow.

  • La fatturazione è indipendente dalla famiglia di tipo di macchina. Per ulteriori informazioni, consulta Prezzi di Dataflow.

  • Per i tipi di macchine f1-micro e g1-small, Dataflow fattura come se avessero 1 vCPU, mentre per i tipi di macchine e2-micro, e2-small ed e2-medium, Dataflow fattura come se avessero 2 vCPU. Queste tariffe vengono fatturate anche se i tipi di macchine con core condivisi forniscono un tempo CPU sostenuto inferiore alle vCPU fatturate.

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 flusso, Streaming Engine deve essere abilitato.
    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 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 della pipeline workerDiskType.

Python

Imposta l'opzione della pipeline worker_disk_type.

Vai

Imposta l'opzione della 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 per il Persistent Disk, ad esempio us-central1-b
  • DISK_TYPE: il tipo di disco, pd-ssd o pd-standard

Per ulteriori informazioni, consulta la pagina di riferimento dell'API Compute Engine per diskTypes.

Dimensione disco

La dimensione del Persistent Disk.

Java

Imposta l'opzione della pipeline diskSizeGb.

Python

Imposta l'opzione della pipeline disk_size_gb.

Vai

Imposta l'opzione della 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 shuffle disponibile. I job associati a shuffle che non utilizzano Dataflow Shuffle o Streaming Engine potrebbero comportare un aumento del tempo di esecuzione 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 di shuffle; 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 flusso

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

Se un job di flusso non utilizza Streaming Engine, puoi impostare le dimensioni 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 di 80 GB.

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

Piattaforma CPU minima

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

Per specificare la piattaforma CPU minima, imposta l'opzione della pipeline min_cpu_platform 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, consulta Limitazioni quando si specifica una piattaforma CPU minima.

Per verificare che le VM worker Dataflow siano state 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 Google Cloud console.
  2. Utilizza il seguente filtro e sostituisci la piattaforma CPU di esempio e l'ID job Dataflow con le informazioni del 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.

Utilizzare 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 carichi di lavoro. Per ulteriori informazioni, consulta Elaborare i dati di ML utilizzando Dataflow e Cloud Storage FUSE.

Passaggi successivi