ReplayListenerBus¶
ReplayListenerBus is a SparkListenerBus that can replay JSON-encoded SparkListenerEvent events.
ReplayListenerBus is used by FsHistoryProvider.
Replaying JSON-encoded SparkListenerEvents¶
replay(
logData: InputStream,
sourceName: String,
maybeTruncated: Boolean = false): Unit
replay reads JSON-encoded SparkListener.md#SparkListenerEvent[SparkListenerEvent] events from logData (one event per line) and posts them to all registered SparkListenerInterfaces.
replay uses spark-history-server:JsonProtocol.md#sparkEventFromJson[JsonProtocol to convert JSON-encoded events to SparkListenerEvent objects].
NOTE: replay uses jackson from http://json4s.org/[json4s] library to parse the AST for JSON.
When there is an exception parsing a JSON event, you may see the following WARN message in the logs (for the last line) or a JsonParseException.
WARN Got JsonParseException from log file $sourceName at line [lineNumber], the file might not have finished writing cleanly.
Any other non-IO exceptions end up with the following ERROR messages in the logs:
ERROR Exception parsing Spark event log: [sourceName]
ERROR Malformed line #[lineNumber]: [currentLine]
NOTE: The sourceName input argument is only used for messages.