Ich habe eine benutzerdefinierte Senke erweitert FileBasedSink
, auf die ich schreibe, indem ich PCollection.apply(Write.to(MySink))
im Datenfluss (sehr einfach zu XmlSink.java). Wie es scheint, wird der Aufruf von Write.to
standardmäßig immer zu 3 Shards führen? Gibt es eine Möglichkeit, dass ich die Anzahl der Ausgabe-Shard (wie TextTO.Write.withNumShards
) nur in benutzerdefinierten Spüle-Klasse-Definition definieren könnte? oder muss ich eine andere kundenspezifische PTransformer
wie TextIO.Write
definieren?Anzahl der Ausgabe Shard in Write.to (Sink) im Datenfluss
1
A
Antwort
0
Leider unterstützt FileBasedSink
derzeit nicht die Anzahl der Shards.
In der Praxis hängt die Anzahl der Shards davon ab, wie das Framework die Teile der Pipeline optimiert, aus denen die Sammlung besteht, die Sie schreiben. Es gibt also praktisch keine Kontrolle darüber.
Ich habe a JIRA issue für Ihre Anfrage abgelegt, so dass Sie den Status abonnieren können.
Verwandte Themen
- 1. Sink nicht Datei
- 2. Ausgabe der Anzahl in einer Foreach-Funktion
- 3. Kreisförmiger Datenfluss in highlandjs
- 4. Shard SVG-Bild in Stücke
- 5. Datenfluss in sapui5
- 6. Die Anzahl der Elemente im Array zählen
- 7. mongodb rekonfigurieren Shard-Ports
- 8. Frühling Wolke Datenfluss Komponente Kollisionen
- 9. Ausführen einer Elastic Scale-Multi-Shard-Abfrage im Datenbankkontext
- 10. Der Versuch, Ausgabe Anzahl der Vorkommen von * in einem String
- 11. Rspec: Anzahl der Zeilen in der CSV-Ausgabe testen
- 12. Kein gemeinsames Protokoll gefunden, wenn Shard im lokalen Netzwerk hinzufügen
- 13. Anzahl der Zeilen im Blatt
- 14. Anzahl der Zeilen im Code
- 15. Wie A2DP-Sink-Funktionalität in Android aktivieren?
- 16. Anzahl der Downloads im Playstore
- 17. Bluetooth A2DP SINK in Windows 8.1
- 18. Einfügen von Dokument in Mongo Shard
- 19. Mongo Sharding entfernt keine Daten der sharded Sammlung im Quell-Shard
- 20. task.continuewith vs Datenfluss in C#
- 21. mehrere Konsumenten pro Kinesis Shard
- 22. Periodischen Datenfluss-Job ausführen
- 23. Loswerden von nicht zugewiesenen Shard
- 24. SSIS Datenfluss zu Terminen überquell
- 25. mongodb shard key Hash-Algorithmus
- 26. Quellwolken-Datenfluss verteilte Verarbeitung
- 27. Benutzerdefinierte Sink für Flume-ng null Ereignis
- 28. Anzahl der Elemente im Abfrage-Set ohne Anzahl zählen()
- 29. Befehlsglossar für Datenfluss?
- 30. Odd Anzahl der Elemente in der Hash-Zuweisung im Subroutinenparameter
danke jkff, ahh möchte mir klar machen, ist alles benutzerdefinierte Spüle nicht in der Lage, Kontrolle über die Anzahl der Ausgabe Shard zu unterstützen? und was ist Ihrer Meinung nach der beste Weg, um am aktuellen Punkt zu gehen, um eine flexible Anzahl von Output-Shards mit meiner angepassten Senke zu ermöglichen? –
Ich denke, der einzige Weg, um dies zu erreichen, ist derzeit ohne die benutzerdefinierte Senke API: pipe Ihre Daten durch ein ParDo {Hash die Daten modulo numShards} | GBK | ParDo {schreibe Daten dieses Shards in eine temporäre Datei; in finishBundle, benenne es atomar an den endgültigen Ort um}. – jkff
Beachten Sie jedoch, dass dies auch in vielen Diensten wegen dynamischer Work Rebalancing nicht funktionieren wird. –