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-smallede2-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-microeg1-small, Dataflow fattura come se avessero 1 vCPU, mentre per i tipi di macchinee2-micro,e2-smallede2-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 macchine Valore N1 customN2 n2-customN2D n2d-customN4
Per i job di flusso, Streaming Engine deve essere abilitato.
Per i job batch, Dataflow Shuffle deve essere abilitato (impostazione predefinita).n4-customE2 e2-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-ssdopd-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:
- Vai alla console Cloud Logging nella Google Cloud console.
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"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.