Verwenden Sie zum Schreiben von Daten aus Dataflow in Bigtable den Bigtable-E/A-Connector von Apache Beam.
Parallelität
Die Parallelität wird durch die Anzahl der Knoten im Bigtable-Cluster gesteuert. Jeder Knoten verwaltet einen oder mehrere Schlüsselbereiche, wobei sich Schlüsselbereiche als Teil des Load-Balancings zwischen Knoten verschieben können. Weitere Informationen finden Sie unter Leistung verstehen in der Bigtable-Dokumentation.
Ihnen wird die Anzahl der Knoten in den Clustern Ihrer Instanz in Rechnung gestellt. Siehe Bigtable-Preise.
Leistung
Die folgende Tabelle enthält Leistungsmesswerte für Bigtable-E/A-Schreibvorgänge. Die Arbeitslasten wurden mit dem Apache Beam SDK 2.48.0 für Java auf einem e2-standard2
-Worker ausgeführt. Sie haben nicht Runner v2 verwendet.
100 Mio. Datensatz | 1 KB | 1 Spalte | Durchsatz (Byte) | Durchsatz (Elemente) |
---|---|---|
Schreiben | 65 Mbit/s | 60.000 Elemente pro Sekunde |
Diese Messwerte basieren auf einfachen Batchpipelines. Sie sollen die Leistung von E/A-Connectors vergleichen und sind nicht unbedingt repräsentativ für reale Pipelines. Die Leistung der Dataflow-Pipeline ist komplex und eine Funktion des VM-Typs, der verarbeiteten Daten, der Leistung externer Quellen und Senken sowie des Nutzercodes. Messwerte basieren auf der Ausführung des Java SDK und sind nicht repräsentativ für die Leistungsmerkmale anderer Sprach-SDKs. Weitere Informationen finden Sie unter Leistung von Beam IO.
Best Practices
Vermeiden Sie im Allgemeinen die Verwendung von Transaktionen. Es wird nicht garantiert, dass Transaktionen idempotent sind, und Dataflow kann sie aufgrund von Wiederholungsversuchen mehrmals aufrufen. Dies führt zu unerwarteten Werten.
Ein einzelner Dataflow-Worker kann Daten für viele Schlüsselbereiche verarbeiten, was zu ineffizienten Schreibvorgängen in Bigtable führt. Die Verwendung von
GroupByKey
zum Gruppieren von Daten nach Bigtable-Schlüssel kann die Schreibleistung erheblich verbessern.Wenn Sie große Datasets in Bigtable schreiben, sollten Sie
withFlowControl
aufrufen. Mit dieser Einstellung wird der Traffic zu Bigtable automatisch begrenzt, damit die Bigtable-Server genügend Ressourcen für die Bereitstellung von Daten haben.
Nächste Schritte
- Lesen Sie die Dokumentation zum Bigtable-E/A-Connector.
- Sehen Sie sich die Liste der von Google bereitgestellten Vorlagen an.