Ich habe einen Google Dataflow-Job mit Bibliothek Version 1.9.1 Job, der Job dauerte Laufzeitargumente. Wir haben die TextIO.read(). From(). OhneValidation() verwendet. Seit wir zu google dataflow 2.0.0 migriert haben, wird in 2.0.0 die Option ohne Validierung entfernt. Die Versionshinweis-Seite spricht nicht darüber https://cloud.google.com/dataflow/release-notes/release-notes-java-2.Konstruieren einer Pipline mit ValueProivder.RuntimeProvider
Wir haben versucht, die Eingabe als ValueProvider.RuntimeProvider zu übergeben. Aber während des Pipelinebaus erhalten wir den folgenden Fehler. Wenn es als ValueProvider übergeben wird, versucht die Pipeline-Erstellung, den Wertanbieter zu validieren. Wie stelle ich einen Laufzeitwertanbieter für eine TextIO-Eingabe in google cloud dataflow 2.0.0 zur Verfügung?
java.lang.RuntimeException: Die Methode getInputFile sollte keinen Rückgabetyp RuntimeValueProvider haben, stattdessen ValueProvider verwenden. bei org.apache.beam.sdk.options.ProxyInvocationHandler.getDefault (ProxyInvocationHandler.java:505)
RuntimeValueProvider eine extrem niedrige Ebene interne Implementierung-Detail-Klasse, die nie von den Benutzern verwendet werden kann; Die Tatsache, dass es öffentlich sichtbar ist, ist ein unglücklicher Zufall des Java-Sichtbarkeitssystems. Was meinen Sie mit "die Pipeline-Erstellung versucht, den Wertanbieter zu validieren"? Ich denke nicht, dass das passieren sollte. Können Sie Ihren Code und einen vollständigen Ausdruck des Fehlers, den Sie erhalten, einfügen? – jkff
Wie @jkff gesagt hat, bitte posten Sie Ihren Code. Ich nehme an, Sie verwenden Templat-Pipelines? Ich verwende '2.1.0' mit Parameter für Vorlagen ohne Probleme. –