Class/Object

org.apache.spark.sql.execution.streaming

StreamExecution

Related Docs: object StreamExecution | package streaming

Permalink

class StreamExecution extends StreamingQuery with Logging

Manages the execution of a streaming Spark SQL query that is occurring in a separate thread. Unlike a standard query, a streaming query executes repeatedly each time new data arrives at any Source present in the query plan. Whenever new data arrives, a QueryExecution is created and the results are committed transactionally to the given Sink.

Linear Supertypes
Logging, StreamingQuery, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StreamExecution
  2. Logging
  3. StreamingQuery
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new StreamExecution(sparkSession: SparkSession, id: Long, name: String, checkpointRoot: String, logicalPlan: LogicalPlan, sink: Sink, trigger: Trigger, triggerClock: Clock, outputMode: OutputMode)

    Permalink

Type Members

  1. trait State extends AnyRef

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object ACTIVE extends State with Product with Serializable

    Permalink
  5. object INITIALIZED extends State with Product with Serializable

    Permalink
  6. object TERMINATED extends State with Product with Serializable

    Permalink
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def awaitTermination(timeoutMs: Long): Boolean

    Permalink

    Waits for the termination of this query, either by query.stop() or by an exception.

    Waits for the termination of this query, either by query.stop() or by an exception. If the query has terminated with an exception, then the exception will be thrown. Otherwise, it returns whether the query has terminated or not within the timeoutMs milliseconds.

    If the query has terminated, then all subsequent calls to this method will either return true immediately (if the query was terminated by stop()), or throw the exception immediately (if the query has terminated with exception).

    Definition Classes
    StreamExecutionStreamingQuery
    Since

    2.0.0

    Exceptions thrown

    StreamingQueryException, if this query has terminated with an exception

  9. def awaitTermination(): Unit

    Permalink

    Waits for the termination of this query, either by query.stop() or by an exception.

    Waits for the termination of this query, either by query.stop() or by an exception. If the query has terminated with an exception, then the exception will be thrown.

    If the query has terminated, then all subsequent calls to this method will either return immediately (if the query was terminated by stop()), or throw the exception immediately (if the query has terminated with exception).

    Definition Classes
    StreamExecutionStreamingQuery
    Since

    2.0.0

    Exceptions thrown

    StreamingQueryException, if this query has terminated with an exception.

  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. var committedOffsets: StreamProgress

    Permalink

    Tracks how much data we have processed and committed to the sink or state store from each input source.

    Tracks how much data we have processed and committed to the sink or state store from each input source. Only the scheduler thread should modify this field, and only in atomic steps. Other threads should make a shallow copy if they are going to access this field more than once, since the field's value may change at any time.

  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. def exception: Option[StreamingQueryException]

    Permalink

    Returns the StreamingQueryException if the query was terminated by an exception.

    Returns the StreamingQueryException if the query was terminated by an exception.

    Definition Classes
    StreamExecutionStreamingQuery
  15. def explain(): Unit

    Permalink

    Prints the physical plan to the console for debugging purposes.

    Prints the physical plan to the console for debugging purposes.

    Definition Classes
    StreamExecutionStreamingQuery
    Since

    2.0.0

  16. def explain(extended: Boolean): Unit

    Permalink

    Prints the physical plan to the console for debugging purposes.

    Prints the physical plan to the console for debugging purposes.

    extended

    whether to do extended explain or not

    Definition Classes
    StreamExecutionStreamingQuery
    Since

    2.0.0

  17. def explainInternal(extended: Boolean): String

    Permalink

    Expose for tests

  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  21. val id: Long

    Permalink

    Returns the unique id of this query.

    Returns the unique id of this query. This id is automatically generated and is unique across all queries that have been started in the current process.

    Definition Classes
    StreamExecutionStreamingQuery
    Since

    2.0.0

  22. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  23. def isActive: Boolean

    Permalink

    Whether the query is currently active or not

    Whether the query is currently active or not

    Definition Classes
    StreamExecutionStreamingQuery
  24. final def isDebugEnabled: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  25. final def isInfoEnabled: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  26. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  27. final def isTraceEnabled: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  28. var lastExecution: QueryExecution

    Permalink
  29. def log: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  30. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  31. def logDebug(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  32. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  33. def logError(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  34. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  35. def logInfo(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  36. def logName: String

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  37. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  38. def logTrace(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  39. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  40. def logWarning(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  41. val logicalPlan: LogicalPlan

    Permalink
  42. val microBatchThread: StreamExecutionThread

    Permalink

    The thread that runs the micro-batches of this stream.

    The thread that runs the micro-batches of this stream. Note that this thread must be org.apache.spark.util.UninterruptibleThread to avoid potential deadlocks in using HDFSMetadataLog. See SPARK-14131 for more details.

  43. val name: String

    Permalink

    Returns the name of the query.

    Returns the name of the query. This name is unique across all active queries. This can be set in the DataStreamWriter as dataframe.writeStream.queryName("query").start().

    Definition Classes
    StreamExecutionStreamingQuery
    Since

    2.0.0

  44. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  45. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  46. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  47. val offsetLog: HDFSMetadataLog[CompositeOffset]

    Permalink

    A write-ahead-log that records the offsets that are present in each batch.

    A write-ahead-log that records the offsets that are present in each batch. In order to ensure that a given batch will always consist of the same data, we write to this log *before* any processing is done. Thus, the Nth record in this log indicated data that is currently being processed and the N-1th entry indicates which offsets have been durably committed to the sink.

  48. val outputMode: OutputMode

    Permalink
  49. def processAllAvailable(): Unit

    Permalink

    Blocks until all available data in the source has been processed and committed to the sink.

    Blocks until all available data in the source has been processed and committed to the sink. This method is intended for testing. Note that in the case of continually arriving data, this method may block forever. Additionally, this method is only guaranteed to block until data that has been synchronously appended data to a org.apache.spark.sql.execution.streaming.Source prior to invocation. (i.e. getOffset must immediately reflect the addition).

    Definition Classes
    StreamExecutionStreamingQuery
    Since

    2.0.0

  50. val sink: Sink

    Permalink
  51. def sinkStatus: SinkStatus

    Permalink

    Returns current status of the sink.

    Returns current status of the sink.

    Definition Classes
    StreamExecutionStreamingQuery
  52. def sourceStatuses: Array[SourceStatus]

    Permalink

    Returns current status of all the sources.

    Returns current status of all the sources.

    Definition Classes
    StreamExecutionStreamingQuery
  53. val sparkSession: SparkSession

    Permalink

    Returns the SparkSession associated with this.

    Returns the SparkSession associated with this.

    Definition Classes
    StreamExecutionStreamingQuery
    Since

    2.0.0

  54. def start(): Unit

    Permalink

    Starts the execution.

    Starts the execution. This returns only after the thread has started and QueryStartedEvent has been posted to all the listeners.

  55. def status: StreamingQueryStatus

    Permalink

    Returns the current status of the query.

    Returns the current status of the query.

    Definition Classes
    StreamExecutionStreamingQuery
  56. def stop(): Unit

    Permalink

    Signals to the thread executing micro-batches that it should stop running after the next batch.

    Signals to the thread executing micro-batches that it should stop running after the next batch. This method blocks until the thread stops running.

    Definition Classes
    StreamExecutionStreamingQuery
  57. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  58. def toDebugString: String

    Permalink
  59. def toString(): String

    Permalink
    Definition Classes
    StreamExecution → AnyRef → Any
  60. val trigger: Trigger

    Permalink
  61. val triggerClock: Clock

    Permalink
  62. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Logging

Inherited from StreamingQuery

Inherited from AnyRef

Inherited from Any

Ungrouped