RunnableCommand Logical Operators¶
RunnableCommand
is an extension of the Command abstraction for logical commands that can be executed for side effects.
Contract¶
Executing Command¶
run(
sparkSession: SparkSession): Seq[Row]
Executes the command for side effects (possibly giving Row back with the result)
See:
Used when:
- ExecutedCommandExec leaf physical operator is executed (and caches the result)
Implementations¶
AlterViewAsCommand
- CreateViewCommand
- LeafRunnableCommand
Query Planning¶
RunnableCommand
logical operators are resolved to ExecutedCommandExec physical operators in BasicOperators execution planning strategy.
Performance Metrics¶
metrics: Map[String, SQLMetric]
metrics
is empty by default.
Lazy Value
metrics
is a Scala lazy value to guarantee that the code to initialize it is executed once only (when accessed for the first time) and cached afterwards.
metrics
is used when:
- ExecutedCommandExec leaf physical operator is executed (and requested for performance metrics)