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:
AliasAwareOutputExpressionis requested for the aliasMap, projectExpressionAliasAwareQueryOutputOrderingis requested for the output orderingPartitioningPreservingUnaryExecNodeis 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:
AliasAwareOutputExpressionis requested for the aliasMapAliasAwareQueryOutputOrderingis requested for the output orderingPartitioningPreservingUnaryExecNodeis 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 Aliases converted to Attributes.
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:
AliasAwareOutputExpressionis requested to hasAlias and normalizeExpression
hasAlias¶
hasAlias: Boolean
hasAlias is true when the aliasMap is not empty.
hasAlias is used when:
PartitioningPreservingUnaryExecNodeis requested for the outputPartitioningAliasAwareQueryOutputOrderingis requested for the outputOrdering
normalizeExpression¶
normalizeExpression(
exp: Expression): Expression
normalizeExpression...FIXME
normalizeExpression is used when:
PartitioningPreservingUnaryExecNodeis requested for the outputPartitioningAliasAwareQueryOutputOrderingis requested for the outputOrdering