Auf der Suche nach Ratschlägen, wo Flink Referenzdaten gespeichert werden sollen. Anwendungsfall hier ist wirklich einfach - ich habe eine einzelne Spalte Textdatei mit einer Liste von Ländern. Ich streame twitter Daten und dann die Länder aus der Textdatei basierend auf dem (geparsten) Standort Feld des tweet. In der IDE (Eclipse) ist alles gut, da ich eine statische ArrayList aufgefüllt habe, wenn die Routine über eine statische Build-Methode in meinem Flink Mapper gestartet wird (dh implementiert Flinks MapFunction). Diese Klasse ist nun innerlich statisch, da sie sonst bei der Serialisierung überhäuft wird. Point ist, wenn die überschriebene Kartenfunktion zur Laufzeit aus dem Stream heraus aufgerufen wird, ist das statische Array der Länderdaten deren wartende, vollständig bevölkerte und bereit zum Abgleich bereitgestellte Daten. Funktioniert ein Charme. ABER, wenn es in einem Flink-Cluster eingesetzt wird (und es hat mich letzte Woche zur Hölle und zurück gebracht, den Code tatsächlich zur FINDUNG der Textdatei zu bekommen), wird das Array nur als Teil der Build-Methode aufgefüllt. Wenn es darum geht, benutzt zu werden, sind die Daten auf mysteriöse Weise verschwunden und ich habe eine Arraygröße von 0 übrig. (Also werden nicht viele Matches gefunden. Also zwei Fragen - warum funktioniert es in Eclipse und nicht auf Deploy (rendert) Viele Eclipse - Unit - Tests sind auch sinnlos.) Oder vielleicht noch allgemeiner gesagt, wie kann man diese Art von statischen, festen Referenzdaten innerhalb von Flink referenzieren (und zwar so, dass sie sowohl in Eclipse als auch in Cluster ...)Flink Referenzdaten Beratung/Best Practice
1
A
Antwort
0
der Standardweg statische Referenzdaten zu handhaben ist, die Daten in dem open
Verfahren eines RichMapFunction
or RichFlatMapFunction
zu laden. Rich-Funktionen open
close
und Methoden, die geeignet sind, für die Erstellung und lokalen Zustand der Fertigstellung und kann zugreifen der Laufzeitkontext
Verwandte Themen
- 1. Best Practice von Flink Sessionization
- 2. SoR-Referenzdaten
- 3. Denken NoSQL auf Referenzdaten
- 4. Referenzdaten aus Funktion
- 5. Oracle - Flyway DB Referenzdaten
- 6. ob flink unterstützt einen flink-Job auszusetzen?
- 7. Flink: Jar Dateiausführung auf Flink Cluster
- 8. Referenzdaten von d3 Element zu Elternknoten Daten
- 9. Referenzdaten im Anwendungsspeicher behalten (Feder MongoRepository)
- 10. Wie befüllen Sie Sharepoint MOSS 2007 Referenzdaten?
- 11. Apache Flink DataSet Differenz-/Subtraktionsoperation
- 12. Flink: ProcessWindowFunction
- 13. Flink: Fensterauswertung
- 14. Flink-Job auf AWS EMR über Flink-REST-API ausführen
- 15. Flink Paket fehlende Klasse CheckpointCommitter - flink-connector-cassandra - schwerer Fehler
- 16. Apache Flink und Ereignissequenzierung
- 17. Unzufriedener Linkfehler: Flink
- 18. Flink mit Kafka Verbindung
- 19. MongoDB als Datenquelle Flink
- 20. Flink Complex Event Processing
- 21. Apache flink Dataset
- 22. /windowApache Flink-Kettenoperatoren
- 23. Apache Flink - groupBy
- 24. zipWithIndex auf Apache Flink
- 25. Flink Savepoint wird abgelehnt
- 26. Flink: Trigger.onElement Arbeits
- 27. flink SQL-Fenster api
- 28. Flink RabbitMQ Korrelation ID
- 29. Flink Scala ClassNotFoundException: org.apache.flink.api.common.typeinfo.TypeInformation
- 30. Flink REST Monitor API
Perfekt. Die Build-Methode, die die Referenzdaten in die Open-Methode der RichMapFunction eingefügt hat, wurde verschoben. (Ich denke, es ist wahrscheinlich besser, wenn man sich Gedanken darüber macht, dass es sich um eine Art Pre-Flink-Verarbeitung handelt, so dass die Ref-Daten bereits Teil der Daten sind, die Flink von Kafka annimmt - aber es ist immer noch sehr schön, dass das funktioniert. –