Best Practices für Apache Beam-E/A-Connector

Die Datenverarbeitung in Dataflow kann stark parallelisiert werden. Ein Großteil dieser Parallelität wird von Dataflow automatisch ausgeführt. E/A-Connectors befinden sich an der Grenze zwischen Ihrer Pipeline und anderen Teilen Ihrer Architektur, z. B. Dateispeicher, Datenbanken und Nachrichtensysteme. Daher haben E/A-Connectors häufig bestimmte Aspekte, um die Parallelität zu erreichen.

In diesem Dokument werden einige allgemeine Best Practices für die Verwendung von E/A-Connectors in Dataflow beschrieben.

  • Lesen Sie die Javadoc-, Pydoc- oder Go-Dokumentation für die Connectors in Ihrer Pipeline. Weitere Informationen finden Sie unter E/A-Connectors in der Apache Beam-Dokumentation.

  • Verwenden Sie die neueste Version des Apache Beam SDK. E/A-Connectors werden kontinuierlich verbessert, um Features hinzuzufügen und bekannte Probleme zu beheben.

  • Bei der Entwicklung einer Pipeline ist es wichtig, die Parallelität des Jobs auszugleichen. Wenn ein Job zu wenig Parallelität hat, kann er langsam sein und Daten können in der Quelle angesammelt werden. Zu viel Parallelität kann jedoch eine Senke mit zu vielen Anfragen überfordern.

  • Verlassen Sie sich nicht auf die Reihenfolge der Elemente. Im Allgemeinen garantiert Dataflow nicht die Reihenfolge der Elemente in einer Sammlung.

  • Wenn in Ihrem SDK Ihrer Wahl kein E/A-Connector verfügbar ist, können Sie das sprachübergreifende Framework verwenden, um einen E/A-Connector aus einem anderen SDK zu verwenden. Außerdem haben Connectors nicht immer die gleichen Features zwischen SDKs. Wenn ein Connector von einem anderen SDK ein Feature bereitstellt, das Sie benötigen, können Sie es als sprachübergreifende Transformation verwenden.

  • Im Allgemeinen ist das Schreiben benutzerdefinierter E/A-Connectors schwierig. Verwenden Sie nach Möglichkeit einen vorhandenen Connector. Weitere Informationen zur Implementierung eines benutzerdefinierten E/A-Connectors finden Sie unter Neuen E/A-Connector entwickeln.

  • Wenn eine Pipeline fehlschlägt, suchen Sie nach Fehlern, die von E/A-Connectors protokolliert werden. Siehe Fehlerbehebung bei Dataflow-Fehlern.

In den folgenden Themen werden Best Practices für einzelne E/A-Connectors aufgeführt:

E/A-ConnectorLesenSchreiben
BigQuery Aus BigQuery abrufen In BigQuery schreiben
Bigtable Aus Bigtable lesen In Bigtable schreiben
Cloud Storage Aus Cloud Storage lesen In Cloud Storage schreiben

Nächste Schritte