trait ProgressReporter extends Logging
Responsible for continually reporting statistics about the amount of data processed as well
as latency for a streaming query. This trait is designed to be mixed into the
StreamExecution, who is responsible for calling startTrigger and finishTrigger
at the appropriate times. Additionally, the status can updated with updateStatusMessage to
allow reporting on the streams current state (i.e. "Fetching more data").
- Alphabetic
- By Inheritance
- ProgressReporter
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class ExecutionStats(inputRows: Map[SparkDataStream, Long], stateOperators: Seq[StateOperatorProgress], eventTimeStats: Map[String, String]) extends Product with Serializable
Abstract Value Members
- abstract def currentBatchId: Long
- Attributes
- protected
- abstract def id: UUID
- Attributes
- protected
- abstract def lastExecution: QueryExecution
- Attributes
- protected
- abstract def logicalPlan: LogicalPlan
- Attributes
- protected
- abstract def name: String
- Attributes
- protected
- abstract def newData: Map[SparkDataStream, LogicalPlan]
- Attributes
- protected
- abstract def offsetSeqMetadata: OffsetSeqMetadata
- Attributes
- protected
- abstract def postEvent(event: Event): Unit
- Attributes
- protected
- abstract def runId: UUID
- Attributes
- protected
- abstract def sink: Table
- Attributes
- protected
- abstract def sinkCommitProgress: Option[StreamWriterCommitProgress]
- Attributes
- protected
- abstract def sources: Seq[SparkDataStream]
- Attributes
- protected
- abstract def sparkSession: SparkSession
- Attributes
- protected
- abstract def triggerClock: Clock
- Attributes
- protected
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val currentStatus: StreamingQueryStatus
- Attributes
- protected
- Annotations
- @volatile()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def finishTrigger(hasNewData: Boolean, hasExecuted: Boolean): Unit
Finalizes the query progress and adds it to list of recent status updates.
Finalizes the query progress and adds it to list of recent status updates.
- hasNewData
Whether the sources of this stream had new data for this trigger.
- hasExecuted
Whether any batch was executed during this trigger. Streaming queries that perform stateful aggregations with timeouts can still run batches even though the sources don't have any new data.
- Attributes
- protected
- def formatTimestamp(millis: Long): String
- Attributes
- protected
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def lastProgress: StreamingQueryProgress
Returns the most recent query progress update or null if there were no progress updates.
- def log: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logName: String
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def recentProgress: Array[StreamingQueryProgress]
Returns an array containing the most recent query progress updates.
- def recordTriggerOffsets(from: StreamProgress, to: StreamProgress, latest: StreamProgress): Unit
Record the offsets range this trigger will process.
Record the offsets range this trigger will process. Call this before updating
committedOffsetsinStreamExecutionto make sure that the correct range is recorded.- Attributes
- protected
- def reportTimeTaken[T](triggerDetailKey: String)(body: => T): T
Records the duration of running
bodyfor the next query progress update.Records the duration of running
bodyfor the next query progress update.- Attributes
- protected
- def startTrigger(): Unit
Begins recording statistics about query progress for a given trigger.
Begins recording statistics about query progress for a given trigger.
- Attributes
- protected
- def status: StreamingQueryStatus
Returns the current status of the query.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def updateStatusMessage(message: String): Unit
Updates the message returned in
status.Updates the message returned in
status.- Attributes
- protected
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()