Dataflow-Worker-VMs konfigurieren

In diesem Dokument wird beschrieben, wie Sie die Worker-VMs für einen Dataflow-Job konfigurieren.

Standardmäßig wählt Dataflow den Maschinentyp für die Worker-VMs aus, auf denen Ihr Job ausgeführt wird, sowie die Größe und den Typ des nichtflüchtigen Speichers. Legen Sie beim Erstellen des Jobs die folgenden Pipelineoptionen fest, um die Worker-VMs zu konfigurieren.

Maschinentyp

Der Compute Engine-Maschinentyp, den Dataflow beim Starten von Worker-VMs verwendet. Sie können x86- oder Arm-Maschinentypen verwenden, einschließlich benutzerdefinierter Maschinentypen.

Java

Legen Sie die Pipelineoption workerMachineType fest.

Python

Legen Sie die Pipelineoption machine_type fest.

Go

Legen Sie die Pipelineoption worker_machine_type fest.

Benutzerdefinierte Maschinentypen

Wenn Sie einen benutzerdefinierten Maschinentyp angeben möchten, verwenden Sie das folgende Format: FAMILY-vCPU-MEMORY. Ersetzen Sie Folgendes:

  • FAMILY: Verwenden Sie einen der folgenden Werte:
    MaschinenserieWert
    N1custom
    N2n2-custom
    N2Dn2d-custom
    N4

    Für Streamingjobs muss Streaming Engine aktiviert sein.
    Bei Batchjobs muss Dataflow Shuffle aktiviert sein (Standard).
    n4-custom
    E2e2-custom
  • vCPU: Die Anzahl der vCPUs.
  • MEMORY: Der Arbeitsspeicher in MB.

Um erweiterten Speicher zu aktivieren, hängen Sie -ext an den Maschinentyp an. Beispiele: n2-custom-6-3072, n2-custom-2-32768-ext.

Weitere Informationen zu gültigen benutzerdefinierten Maschinentypen finden Sie unter Benutzerdefinierte Maschinentypen in der Compute Engine-Dokumentation.

Laufwerkstyp

Der Typ des zu verwendenden nichtflüchtigen Speichers.

Geben Sie keine nichtflüchtige Festplatte an, wenn Sie entweder Streaming Engine oder den Maschinentyp N4 verwenden.

Java

Legen Sie die Pipelineoption workerDiskType fest.

Python

Legen Sie die Pipelineoption worker_disk_type fest.

Go

Legen Sie die Pipelineoption disk_type fest.

Geben Sie den Laufwerkstyp im folgenden Format an: compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE.

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • ZONE: die Zone für den nichtflüchtigen Speicher, z. B. us-central1-b
  • DISK_TYPE: der Laufwerkstyp, entweder pd-ssd oder pd-standard

Weitere Informationen finden Sie auf der Referenzseite der Compute Engine API für diskTypes.

Laufwerksgröße

Die Größe des nichtflüchtigen Speichers.

Java

Legen Sie die Pipelineoption diskSizeGb fest.

Python

Legen Sie die Pipelineoption disk_size_gb fest.

Go

Legen Sie die Pipelineoption disk_size_gb fest.

Wenn Sie diese Option festlegen, geben Sie mindestens 30 GB an, um das Boot-Image des Arbeitsprozesses und die lokalen Logs zu berücksichtigen.

Bei einer geringeren Laufwerkgröße wird die verfügbare Shuffle-E/A reduziert. An Shuffle gebundene Jobs, die nicht mit Dataflow Shuffle oder Streaming Engine arbeiten, können sich die Laufzeit und die Jobkosten erhöhen.

Batchjobs

Bei Batchjobs, die Dataflow Shuffle verwenden, wird mit dieser Option die Größe des Bootlaufwerks einer Worker-VM festgelegt. Bei Batchjobs, die Dataflow Shuffle nicht verwenden, legt diese Option die Größe der Laufwerke fest, die zum Speichern von Shuffle-Daten verwendet werden. Die Größe des Bootlaufwerks ist davon nicht betroffen.

Wenn ein Batchjob Dataflow Shuffle verwendet, beträgt die standardmäßige Laufwerkgröße 25 GB. Andernfalls beträgt der Standardwert 250 GB.

Streamingjobs

Wenn ein Streamingjob Streaming Engine verwendet, wird mit dieser Option die Größe der Bootlaufwerke festgelegt. Bei Streamingjobs ohne Streaming Engine wird mit dieser Option die Größe jedes zusätzlichen nichtflüchtigen Speichers festgelegt, der vom Dataflow-Dienst erstellt wird. Das Bootlaufwerk ist nicht betroffen.

Wenn ein Streamingjob Streaming Engine nicht verwendet, können Sie die Größe des Bootlaufwerks mit dem Experiments-Flag streaming_boot_disk_size_gb festlegen. Geben Sie beispielsweise --experiments=streaming_boot_disk_size_gb=80 an, um Bootlaufwerke mit einer Größe von 80 GB zu erstellen.

Wenn für einen Streamingjob Streaming Engine verwendet wird, beträgt die standardmäßige Laufwerkgröße 30 GB. Andernfalls beträgt der Standardwert 400 GB.

Cloud Storage FUSE zum Bereitstellen von Cloud Storage-Buckets auf Dataflow-VMs verwenden

Mit Cloud Storage FUSE können Sie Ihre Cloud Storage-Buckets direkt mit Dataflow-VMs bereitstellen. So kann Software auf Dateien zugreifen, als wären sie lokal. Durch diese Integration müssen Daten nicht vorab heruntergeladen werden, was den Datenzugriff für Ihre Arbeitslasten vereinfacht. Weitere Informationen finden Sie unter ML-Daten mit Dataflow und Cloud Storage FUSE verarbeiten.

Nächste Schritte