Skip to content

AttributeSeq

AttributeSeq is an implicit class (Scala) of Seq[Attribute] type.

AttributeSeq is a Serializable (Java).

Creating Instance

AttributeSeq takes the following to be created:

Resolving Attribute Names (to NamedExpressions)

resolve(
  nameParts: Seq[String],
  resolver: Resolver): Option[NamedExpression]

resolve resolves the given nameParts to a NamedExpression.

resolve branches off based on whether the number of the qualifier parts of all the Attributes is 3 or less or not (more than 3).

resolve can return:

  • Alias with ExtractValues for nested fields
  • NamedExpression if there were no nested fields to resolve
  • None (undefined value) for no candidate

resolve throws an AnalysisException for more candidates:

Reference '[name]' is ambiguous, could be: [referenceNames].

resolve is used when: