2016-06-06 9 views
1

Ich habe WriteAheadLog in meiner Anwendung aktiviert, die Spark-Streaming verwendet. Wann genau werden die Datensätze in den writeAheadLog geschrieben? Ist es, wenn der Laden (...) aufgerufen wird oder sobald der Datensatz empfangen wird? Während ich versuche, einen zuverlässigen Empfänger zu implementieren, möchte ich zuerst eine Menge von Datensätzen sammeln, bevor ich sie tatsächlich speichere. Kann ich jetzt sicher sein, dass die Datensätze, die ich im Puffer habe und noch store() aufrufen muss, im writeAheadLog vorhanden sein werden, sollte die Anwendung vor dem Speichern fehlschlagen?Wann werden Datensätze, die für das Schreiben im Voraus geschrieben werden, mit Spark-Streaming protokolliert?

Auch, was wäre der richtige Weg, um die Datensätze im Protokoll zu behandeln, wenn die Anwendung neu gestartet wird. Ich möchte, dass diese Ereignisse gespeichert werden. Gibt es eine einfache Möglichkeit, auf diese Ereignisse zuzugreifen?

Antwort

0

Ich habe einige Tests durchgeführt und es sieht so aus, als ob Datensätze bei store() in writeAheadLog geschrieben werden. Dies bedeutet, dass zusätzliche Aktionen erforderlich sind, um den Puffer, in dem Datensätze gesammelt werden, vor dem Speichern fehlersicher zu machen.

Verwandte Themen