StreamingExecutionRelation Leaf Logical Operator for Streaming Source At Execution
StreamingExecutionRelation
is a leaf logical operator (i.e. LogicalPlan
) that represents a streaming source in the logical query plan of a streaming Dataset
.
The main use of StreamingExecutionRelation
logical operator is to be a “placeholder” in a logical query plan that will be replaced with the real relation (with new data that has arrived since the last batch) or an empty LocalRelation
when StreamExecution
runs a single streaming batch.
StreamingExecutionRelation
is created for a StreamingRelation in analyzed logical query plan (that is the execution representation of a streaming Dataset).
Note
|
Right after |
Note
|
StreamingExecutionRelation is also resolved (aka planned) to a StreamingRelationExec physical operator in StreamingRelationStrategy execution planning strategy only when explaining a streaming Dataset .
|
Creating StreamingExecutionRelation Instance
StreamingExecutionRelation
takes the following when created:
Creating StreamingExecutionRelation (for MemoryStream Source) — apply
Factory Method
1 2 3 4 5 |
apply(source: Source): StreamingExecutionRelation |
apply
creates a StreamingExecutionRelation
for the input source
and with the attributes of the schema of the source
.
Note
|
apply is used exclusively when MemoryStream is created (and the logical plan initialized).
|