Sie können die Laufzeitumgebung von Nutzercode in Dataflow-Pipelines anpassen, indem Sie ein benutzerdefiniertes Container-Image bereitstellen. Benutzerdefinierte Container werden für Pipelines unterstützt, die Dataflow Runner v2 verwenden.
Wenn Dataflow die Worker-VMs startet, werden Docker-Container-Images verwendet, um Container-SDK-Prozesse auf den Workern zu starten. Standardmäßig verwendet eine Pipeline ein vordefiniertes Apache Beam-Image. Sie können jedoch ein benutzerdefiniertes Container-Image für Ihren Dataflow-Job bereitstellen. Wenn Sie ein benutzerdefiniertes Container-Image angeben, startet Dataflow Worker, die das angegebene Image abrufen.
Benutzerdefinierte Container können aus folgenden Gründen verwendet werden:
- Pipelineabhängigkeiten vorinstallieren, um die Startzeit des Workers zu verkürzen.
- Pipelineabhängigkeiten vorinstallieren, die in öffentlichen Repositories nicht verfügbar sind.
- Pipelineabhängigkeiten vorinstallieren, wenn der Zugriff auf öffentliche Repositories deaktiviert ist. Der Zugriff kann aus Sicherheitsgründen deaktiviert sein.
- Große Dateien vorab bereitstellen, um die Startzeit des Workers zu reduzieren.
- Drittanbieter-Software wird im Hintergrund ausgeführt.
- Ausführungsumgebung anpassen.
Weitere Informationen zu benutzerdefinierten Containern in Apache Beam finden Sie im Leitfaden zu benutzerdefinierten Containern für Apache Beam. Beispiele für Python-Pipelines, die benutzerdefinierte Container verwenden, finden Sie unter Benutzerdefinierte Dataflow-Container.
Nächste Schritte
- Benutzerdefinierte Container-Images erstellen
- Container-Images mit mehreren Architekturen erstellen
- Dataflow-Job in einem benutzerdefinierten Container ausführen
- Fehlerbehebung bei benutzerdefinierten Containern