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. Um die Worker-VMs zu konfigurieren, legen Sie beim Erstellen des Jobs die folgenden Pipelineoptionen fest.
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.
Für Arm wird die Tau T2A-Maschinenreihe unterstützt. Weitere Informationen zur Verwendung von Arm-VMs finden Sie unter Arm-VMs in Dataflow verwenden.
Maschinentypen mit gemeinsam genutztem Kern, beispielsweise Worker der Serien
f1
undg1
, werden im Rahmen des Service Level Agreements von Dataflow nicht unterstützt.Die Abrechnung erfolgt unabhängig von der Maschinentypfamilie. Weitere Informationen finden Sie unter Dataflow – Preise.
Benutzerdefinierte Maschinentypen
Verwenden Sie für benutzerdefinierte Maschinentypen das Format FAMILY-vCPU-MEMORY
. Ersetzen Sie Folgendes:
- FAMILY: Verwenden Sie einen der folgenden Werte:
Maschinenserie Wert N1 custom
N2 n2-custom
N2D n2d-custom
N4 n4-custom
E2 e2-custom
- vCPU: Die Anzahl der vCPUs.
- MEMORY: Der Arbeitsspeicher in MB.
Wenn Sie erweiterten Arbeitsspeicher aktivieren möchten, fügen Sie dem Maschinentyp -ext
hinzu. 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 zu verwendende Persistent Disk-Typ.
Geben Sie bei Verwendung der Streaming Engine keinen nichtflüchtigen Datenträger an.
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 Laufwerktyp 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: Laufwerkstyp, entweder
pd-ssd
oderpd-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 die Laufzeit und die Auftragskosten erhöhen.
Batchjobs
Bei Batchjobs, die Dataflow Shuffle verwenden, legt diese Option die Größe des Bootlaufwerks einer Worker-VM fest. Bei Batch-Jobs, die Dataflow Shuffle nicht verwenden, legt diese Option die Größe der Laufwerke fest, die zum Speichern von Zufallsdaten verwendet werden. Die Größe des Bootlaufwerks ist davon nicht betroffen.
Wenn ein Batchjob Dataflow Shuffle verwendet, ist die standardmäßige Laufwerkgröße 25 GB. Andernfalls ist der Standardwert 250 GB.
Streamingjobs
Bei Streamingjobs mit Streaming Engine 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 die Streaming Engine verwendet wird, beträgt die Standardlaufwerkgröße 30 GB. Andernfalls ist der Standardwert 400 GB.