AliasAwareOutputExpression Physical Operators¶
AliasAwareOutputExpression
is an abstraction of physical operators with the output named expressions.
Contract¶
Output Named Expressions¶
outputExpressions: Seq[NamedExpression]
Output NamedExpressions
See:
Used when:
AliasAwareOutputExpression
is requested for the aliasMap, projectExpressionAliasAwareQueryOutputOrdering
is requested for the output orderingPartitioningPreservingUnaryExecNode
is requested for the output partitioning
Implementations¶
spark.sql.optimizer.expressionProjectionCandidateLimit¶
aliasCandidateLimit
is the value of spark.sql.optimizer.expressionProjectionCandidateLimit configuration property.
aliasCandidateLimit
is used when:
AliasAwareOutputExpression
is requested for the aliasMapAliasAwareQueryOutputOrdering
is requested for the output orderingPartitioningPreservingUnaryExecNode
is requested for the output partitioning
aliasMap¶
aliasMap: AttributeMap[Attribute]
aliasMap
is a collection of AttributeReference
expressions (of the Alias
expressions with the AttributeReference
expressions in the output named expressions) and the Alias
es converted to Attribute
s.
Lazy Value
aliasMap
is a Scala lazy value to guarantee that the code to initialize it is executed once only (when accessed for the first time) and the computed value never changes afterwards.
Learn more in the Scala Language Specification.
aliasMap
is used when:
AliasAwareOutputExpression
is requested to hasAlias and normalizeExpression
hasAlias¶
hasAlias: Boolean
hasAlias
is true
when the aliasMap is not empty.
hasAlias
is used when:
PartitioningPreservingUnaryExecNode
is requested for the outputPartitioningAliasAwareQueryOutputOrdering
is requested for the outputOrdering
normalizeExpression¶
normalizeExpression(
exp: Expression): Expression
normalizeExpression
...FIXME
normalizeExpression
is used when:
PartitioningPreservingUnaryExecNode
is requested for the outputPartitioningAliasAwareQueryOutputOrdering
is requested for the outputOrdering