Interface StreamingQuery
- Since:
- 2.0.0
-
Method Summary
Modifier and TypeMethodDescriptionvoidWaits for the termination ofthisquery, either byquery.stop()or by an exception.booleanawaitTermination(long timeoutMs) Waits for the termination ofthisquery, either byquery.stop()or by an exception.scala.Option<StreamingQueryException>Returns theStreamingQueryExceptionif the query was terminated by an exception.voidexplain()Prints the physical plan to the console for debugging purposes.voidexplain(boolean extended) Prints the physical plan to the console for debugging purposes.id()Returns the unique id of this query that persists across restarts from checkpoint data.booleanisActive()Returnstrueif this query is actively running.Returns the most recentStreamingQueryProgressupdate of this streaming query.name()Returns the user-specified name of the query, or null if not specified.voidBlocks until all available data in the source has been processed and committed to the sink.Returns an array of the most recentStreamingQueryProgressupdates for this query.runId()Returns the unique id of this run of the query.Returns theSparkSessionassociated withthis.status()Returns the current status of the query.voidstop()Stops the execution of this query if it is running.
-
Method Details
-
awaitTermination
Waits for the termination ofthisquery, either byquery.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).- Throws:
StreamingQueryException- if the query has terminated with an exception.- Since:
- 2.0.0
-
awaitTermination
Waits for the termination ofthisquery, either byquery.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 thetimeoutMsmilliseconds.If the query has terminated, then all subsequent calls to this method will either return
trueimmediately (if the query was terminated bystop()), or throw the exception immediately (if the query has terminated with exception).- Parameters:
timeoutMs- (undocumented)- Returns:
- (undocumented)
- Throws:
StreamingQueryException- if the query has terminated with an exception- Since:
- 2.0.0
-
exception
scala.Option<StreamingQueryException> exception()Returns theStreamingQueryExceptionif the query was terminated by an exception.- Returns:
- (undocumented)
- Since:
- 2.0.0
-
explain
void explain()Prints the physical plan to the console for debugging purposes.- Since:
- 2.0.0
-
explain
void explain(boolean extended) Prints the physical plan to the console for debugging purposes.- Parameters:
extended- whether to do extended explain or not- Since:
- 2.0.0
-
id
UUID id()Returns the unique id of this query that persists across restarts from checkpoint data. That is, this id is generated when a query is started for the first time, and will be the same every time it is restarted from checkpoint data. Also seerunId().- Returns:
- (undocumented)
- Since:
- 2.1.0
-
isActive
boolean isActive()Returnstrueif this query is actively running.- Returns:
- (undocumented)
- Since:
- 2.0.0
-
lastProgress
StreamingQueryProgress lastProgress()Returns the most recentStreamingQueryProgressupdate of this streaming query.- Returns:
- (undocumented)
- Since:
- 2.1.0
-
name
String name()Returns the user-specified name of the query, or null if not specified. This name can be specified in theorg.apache.spark.sql.streaming.DataStreamWriterasdataframe.writeStream.queryName("query").start(). This name, if set, must be unique across all active queries.- Returns:
- (undocumented)
- Since:
- 2.0.0
-
processAllAvailable
void processAllAvailable()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 aorg.apache.spark.sql.execution.streaming.Sourceprior to invocation. (i.e.getOffsetmust immediately reflect the addition).- Since:
- 2.0.0
-
recentProgress
StreamingQueryProgress[] recentProgress()Returns an array of the most recentStreamingQueryProgressupdates for this query. The number of progress updates retained for each stream is configured by Spark session configurationspark.sql.streaming.numRecentProgressUpdates.- Returns:
- (undocumented)
- Since:
- 2.1.0
-
runId
UUID runId()Returns the unique id of this run of the query. That is, every start/restart of a query will generate a unique runId. Therefore, every time a query is restarted from checkpoint, it will have the sameid()but differentrunId()s.- Returns:
- (undocumented)
-
sparkSession
SparkSession sparkSession()Returns theSparkSessionassociated withthis.- Returns:
- (undocumented)
- Since:
- 2.0.0
-
status
StreamingQueryStatus status()Returns the current status of the query.- Returns:
- (undocumented)
- Since:
- 2.0.2
-
stop
Stops the execution of this query if it is running. This waits until the termination of the query execution threads or until a timeout is hit.By default stop will block indefinitely. You can configure a timeout by the configuration
spark.sql.streaming.stopTimeout. A timeout of 0 (or negative) milliseconds will block indefinitely. If aTimeoutExceptionis thrown, users can retry stopping the stream. If the issue persists, it is advisable to kill the Spark application.- Throws:
TimeoutException- Since:
- 2.0.0
-