Ist jemandem bekannt, wie die Bundles in BigtableIO funktionieren? Alles sieht gut aus, bis man GroupBy
oder Combine
DoFn verwendet. An diesem Punkt würde die Pipeline den Bereich unseres Elements von PaneInfo.NO_FIRING
zu PaneInfo{isFirst=true, isLast=true, timing=ON_TIME, index=0, onTimeIndex=0}
ändern und dann BigtableIO
das folgende Protokoll INFO o.a.b.sdk.io.gcp.bigtable.BigtableIO - Wrote 1 records
ausgeben. Führt die Protokollierung zu einem Leistungsproblem, wenn Millionen von Datensätzen ausgegeben werden, oder ist es die Tatsache, dass BigtableIO
einen Writer für jeden Datensatz öffnet und schließt?Warum BigtableIO Datensätze nacheinander nach GroupBy/Combine DoFn schreibt?
1
A
Antwort
1
BigtableIO sendet mehrere Datensätze in einem Batch-RPC. Dies setzt jedoch voraus, dass mehrere Datensätze im "Bundle" gesendet werden. Bundle-Größen sind abhängig von einer Kombination aus dem vorherigen Schritt und dem Dataflow-Framework. Die Probleme, die Sie sehen, scheinen nicht direkt mit BigtableIO
verwandt zu sein.
FWIW, here ist der Code zum Protokollieren der Anzahl der Datensätze, die in der finishBundle()
-Methode auftritt.
Verwandte Themen
- 1. Wie schreibt man nacheinander Zeichen in TelnetOutputStream?
- 2. com.google.cloud.dataflow.sdk.util.IllegalMutationException in DoFn
- 3. Einsatz mehr Datensätze nacheinander LINQ mit
- 4. Warum Jetbrains Fehler schreibt
- 5. com.google.cloud.dataflow.sdk.util.IllegalMutationException in DoFn Konvertierung in org.apache.hadoop.hbase.client.Put
- 6. Warum schreibt snprintf() zusätzliche Zeichen?
- 7. Sesame NativeRDF schreibt nach/tmp
- 8. Warum schreibt PostgreSQL alles in Kleinbuchstaben?
- 9. AWS Dynamo-Tabelle, die Daten für einige Datensätze falsch schreibt
- 10. animateWithDuration nacheinander
- 11. Ausführen von Methoden nacheinander und nacheinander
- 12. Warum schreibt bufferedwriter nicht in die Datei?
- 13. Warum schreibt SQL * Plus beim Beenden fest?
- 14. Warum schreibt BeginRouteForm einen Klassennamen in HTML?
- 15. Warum aws --version schreibt an stderr?
- 16. warum schreibt es über dieselbe Zeile?
- 17. Warum schreibt TADOBlobField.Savetofile nur 8 Bytes
- 18. Warum schreibt jQuery ajax hier zweimal?
- 19. Warum schreibt schreiben; in C ein segfault
- 20. schreibt nach Ende Fehlern mittels Röntgen
- 21. Wie man JSON nach Django schreibt
- 22. Hadoop schreibt unvollständige Datei nach HDFS
- 23. Wie schreibt man Stylesheets nach JSDOM?
- 24. schreibt in Datei nach einem Ausdruck
- 25. H5PY schreibt sehr langsam
- 26. Freigabe von BigTable Connection-Objekt unter DataFlow DoFn-Unterklassen
- 27. Trigger jQuery Ereignisse nacheinander
- 28. Rendering Javascript nacheinander
- 29. Sequelize: Datensätze nach Aktualisierung erhaltenDatum
- 30. MySQL erhalten Datensätze nach Stundenintervall
Ich habe das auch verstanden, aber ich frage mich, warum es Bündel von nur 1 Rekord macht. Wäre kein Trick, um die minimale Bundle-Größe zu setzen? Ich habe versucht, ein anderes Fenster anzuwenden und nur auszulösen, wenn eine bestimmte Menge an Daten im Fenster angekommen ist, aber ich habe immer noch einen Datensatz pro Bündel ... –