Skip to content

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)

Used when:

Implementations

Query Planning

RunnableCommand logical operators are resolved to ExecutedCommandExec physical operators in BasicOperators execution planning strategy.

Performance Metrics

metrics: Map[String, SQLMetric]

RunnableCommand can define optional performance metrics.

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).


Last update: 2021-04-10