Ich habe einen Schritt in einem Google DataFlow, wo ich Daten von einer externen Rate-limited API abrufen möchte. Gibt es eine Möglichkeit, die Daten gleichmäßig auf eine festgelegte Anzahl von Arbeitern aufzuteilen, um das Ratenlimit einzuhalten? (Sie müssen die Anzahl der Arbeiter kennen, um das Ratenlimit durch diese Nummer zu teilen).Google DataFlow - feste Anzahl von Arbeitern
0
A
Antwort
1
Die Antwort darauf hängt davon ab, ob die Pipeline über den Batch- oder Streaming Läufer läuft:
Batch: keine direkte Kontrolle dafür neben numWorkers und maxNumWorkers auf den gewünschten Wert einstellen. Dies wirkt sich jedoch auf die gesamte Pipeline aus, nicht nur auf die Stufe, in der die Rate begrenzt werden soll
Streaming: Mit der API UnboundedSource können Sie mit dem Aufruf generateInitialSplits()
genau die Anzahl der parallelen Eingangsaufteilungen angeben, die Sie haben möchten. Dann kann jeder Split seiner eigenen lokalen Ratenbegrenzung folgen.
Verwandte Themen
- 1. java.lang.OutOfMemoryError: Java-Heapspeicher - Google Dataflow-Job
- 2. Google DataFlow & Reading Parktordateien
- 3. Google Dataflow "elementCountExact" Aggregation
- 4. Singleton in Google Dataflow
- 5. unterschiedliches Verhalten bei Verwendung einer anderen Anzahl von Multicoring-Arbeitern
- 6. CPU - Kerne, Laufflächen und optimale Anzahl von Arbeitern - Python Threading
- 7. Google DataFlow - Autocomplete Beispiel von BigQuery lesen
- 8. Google Dataflow vs. Apache Storm
- 9. Google Dataflow: Coder für ZipInputStream
- 10. Truststore und Google Cloud Dataflow
- 11. Anzahl der Klammern für feste Anzahl von "()" Paaren
- 12. Feste Anzahl der Ergebnisse biopython
- 13. Google Dataflow scheint zu fallen 1000. Rekord
- 14. Sellerie - Programmgesteuertes Auflisten von Arbeitern
- 15. google-cloud-dataflow vs apache-beam
- 16. große Datei generiert mit Google Cloud Dataflow
- 17. Google Dataflow: java.lang.IllegalArgumentException: Kann nicht setCoder (null)
- 18. Erhalten Sie eine feste Anzahl von Elementen von einem Generator
- 19. Mehrere google-dataflow- und dataproc-Jobs
- 20. Ausführen eines Google Dataflow-Jobs beim Start
- 21. Verwenden des Dienstkontos mit google cloud dataflow
- 22. Benachrichtigungen für den Google Dataflow-Aggregator
- 23. Google Dataflow ist fehlgeschlagen mit Status FAILED
- 24. Schreiben an cloudsql in Google DataFlow
- 25. Google Cloud Platform DataFlow-Mitarbeiter IP-Adressen
- 26. Erstellen/Schreiben von BigQuery-Tabellen über Google Cloud Dataflow
- 27. Sehr geringer Durchsatz durch Verwendung von JdbcIO in Google Dataflow
- 28. Wie wird Google Cloud Dataflow von App Engine ausgeführt?
- 29. Gibt es eine MongoDB-Quelle/Senke von Google Dataflow?
- 30. Elementwertbasiertes Schreiben in Google Cloud Storage mithilfe von Dataflow
In meiner Pipeline die API-Aufrufe sind der erste Schritt und wahrscheinlich auch die langsamste, so dass die Batch-Methode wird wahrscheinlich funktionieren, ohne zu viele Probleme zu erstellen. Ich werde es versuchen und sehen, wie es geht. –