ExecutedCommandExec Physical Operator¶
ExecutedCommandExec
is a leaf physical operator for executing runnable logical commands.
Creating Instance¶
ExecutedCommandExec
takes the following to be created:
ExecutedCommandExec
is created when BasicOperators execution planning strategy is executed (for RunnableCommand logical operators).
Node Name¶
nodeName: String
nodeName
is the following (using the node name of the RunnableCommand):
Execute [nodeName]
nodeName
is part of the TreeNode abstraction.
Executing Command¶
As a physical operator, ExecutedCommandExec
use the sideEffectResult for execution:
Side Effect of Executing Command¶
sideEffectResult: Seq[InternalRow]
sideEffectResult
creates a Catalyst converter for the schema.
sideEffectResult
requests the RunnableCommand to execute and maps over the result using the Catalyst converter.
Lazy Value
sideEffectResult
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.
sideEffectResult
is used for executeCollect, executeToIterator, executeTake, executeTail, and doExecute.