Eine Dataflow DoFn schlägt bei fehlerhaften Eingaben fehl, und Sie müssen fehlerhafte Datensätze zuverlässig erfassen und erneut verarbeiten. Was ist die richtige Designänderung?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Fügen Sie einen try…catch-Block zu Ihrer DoFn hinzu, der die Daten transformiert, verwenden Sie einen sideOutput, um eine PCollection zu erstellen, die später in Pub/Sub gespeichert werden kann..
Warum dies die Antwort ist
Die korrekte Lösung ist, einen try…catch-Block in der DoFn zu verwenden und fehlerhafte Datensätze über einen Side Output in eine separate PCollection umzuleiten. Dieser Ansatz ermöglicht es, die fehlerhaften Datensätze separat zu behandeln, beispielsweise durch Schreiben in Pub/Sub für eine spätere Wiederverarbeitung, ohne den Hauptverarbeitungsfluss zu unterbrechen. Ein Filterschritt (Option 1) würde fehlerhafte Daten einfach überspringen, anstatt sie zu erfassen und wiederzuverarbeiten. Das Extrahieren aus Protokollen (Option 1 und 2) ist unzuverlässig und ineffizient, da Protokolle nicht für die strukturierte Datenerfassung und Wiederverarbeitung konzipiert sind. Das direkte Schreiben in Pub/Sub aus der DoFn (Option 3) ist keine Best Practice, da es die DoFn mit E/A-Operationen überladen und die Parallelisierung beeinträchtigen kann; Dataflow bevorzugt es, E/A-Operationen in separaten Schritten nach der Transformation zu bündeln.
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