Ein Streaming Dataflow-Job (Streaming Engine, horizontale Autoskalierung, max_workers=1000), der Pub/Sub-Benachrichtigungen von GCS liest, gibt ein Element pro CSV-Zeile aus. Der Job verwendet nur 10 Worker, und der Autoscaler fügt keine weiteren hinzu. Wie können Sie die Parallelität verbessern und dem Autoscaler ermöglichen, zu skalieren?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Ändern Sie den Pipeline-Code, um einen Reshuffle-Schritt hinzuzufügen, um die Fusion aufzubrechen..
Warum dies die Antwort ist
Die korrekte Antwort ist, den Pipeline-Code zu ändern, um einen Reshuffle-Schritt hinzuzufügen, um die Fusion aufzubrechen. Dataflow kann Transformationen zu einer einzigen Stufe "fusionieren", um die Effizienz zu steigern. Wenn jedoch eine Stufe zu viel Arbeit enthält oder nicht genügend Parallelität bietet (z. B. wenn alle Daten über einen einzigen Schlüssel laufen), kann dies die Skalierung des Autoscalers behindern. Ein Reshuffle-Schritt erzwingt eine Materialisierung und unterbricht die Fusion, was Dataflow ermöglicht, die Arbeit auf mehr Worker zu verteilen und die Parallelität zu erhöhen. Die Aktivierung der vertikalen Autoskalierung würde größere Worker-VMs verwenden, löst aber nicht das Problem der unzureichenden Parallelität bei der Datenverarbeitung. Das Erhöhen der maximalen Anzahl der Worker des Jobs ist nutzlos, wenn der Autoscaler aufgrund von Fusionsproblemen nicht skalieren kann. Die Verwendung von Dataflow Prime und Right Fitting würde die Worker-Ressourcen erhöhen, aber auch hier würde das zugrunde liegende Parallelitätsproblem nicht behoben, das den Autoscaler daran hindert, die vorhandenen Worker effektiv zu nutzen.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich