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)