org.apache.spark.sql.catalyst.analysis

Analyzer

class Analyzer extends RuleExecutor[LogicalPlan] with CheckAnalysis

Provides a logical query plan analyzer, which translates UnresolvedAttributes and UnresolvedRelations into fully typed objects using information in a schema Catalog and a FunctionRegistry.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Analyzer
  2. CheckAnalysis
  3. RuleExecutor
  4. Logging
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Analyzer(catalog: Catalog, registry: FunctionRegistry, conf: CatalystConf, maxIterations: Int = 100)

Type Members

  1. case class Batch(name: String, strategy: Strategy, rules: Rule[TreeType]*) extends Product with Serializable

    A batch of rules.

  2. case class FixedPoint(maxIterations: Int) extends Strategy with Product with Serializable

    A strategy that runs until fix point or maxIterations times, whichever comes first.

  3. abstract class Strategy extends AnyRef

    An execution strategy for rules that indicates the maximum number of executions.

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. object CTESubstitution extends Rule[LogicalPlan]

    Substitute child plan with cte definitions

  7. object ExtractWindowExpressions extends Rule[LogicalPlan]

    Extracts WindowExpressions from the projectList of a Project operator and aggregateExpressions of an Aggregate operator and creates individual Window operators for every distinct WindowSpecDefinition.

  8. object GlobalAggregates extends Rule[LogicalPlan]

    Turns projections that contain aggregate expressions into aggregations.

  9. object HandleNullInputsForUDF extends Rule[LogicalPlan]

    Correctly handle null primitive inputs for UDF by adding extra If expression to do the null check.

  10. object Once extends Strategy with Product with Serializable

    A strategy that only runs once.

  11. object PullOutNondeterministic extends Rule[LogicalPlan]

    Pulls out nondeterministic expressions from LogicalPlan which is not Project or Filter, put them into an inner Project and finally project them away at the outer Project.

  12. object ResolveAggregateFunctions extends Rule[LogicalPlan]

    This rule finds aggregate expressions that are not in an aggregate operator.

  13. object ResolveAliases extends Rule[LogicalPlan]

    Replaces UnresolvedAliass with concrete aliases.

  14. object ResolveFunctions extends Rule[LogicalPlan]

    Replaces UnresolvedFunctions with concrete Expressions.

  15. object ResolveGenerate extends Rule[LogicalPlan]

    Rewrites table generating expressions that either need one or more of the following in order to be resolved:

  16. object ResolveGroupingAnalytics extends Rule[LogicalPlan]

  17. object ResolvePivot extends Rule[LogicalPlan]

  18. object ResolveReferences extends Rule[LogicalPlan]

    Replaces UnresolvedAttributes with concrete AttributeReferences from a logical plan node's children.

  19. object ResolveRelations extends Rule[LogicalPlan]

    Replaces UnresolvedRelations with concrete relations from the catalog.

  20. object ResolveSortReferences extends Rule[LogicalPlan]

    In many dialects of SQL it is valid to sort by attributes that are not present in the SELECT clause.

  21. object RewriteFilterSubQuery extends Rule[LogicalPlan] with PredicateHelper

    Rewrite the Exists In with left semi join or anti join.

  22. object WindowsSubstitution extends Rule[LogicalPlan]

    Substitute child plan with WindowSpecDefinitions.

  23. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  24. lazy val batches: Seq[Batch]

    Definition Classes
    AnalyzerRuleExecutor
  25. def checkAnalysis(plan: LogicalPlan): Unit

    Definition Classes
    CheckAnalysis
  26. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. def containsMultipleGenerators(exprs: Seq[Expression]): Boolean

    Attributes
    protected
    Definition Classes
    CheckAnalysis
  28. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  29. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  30. def execute(plan: LogicalPlan): LogicalPlan

    Executes the batches of rules defined by the subclass.

    Executes the batches of rules defined by the subclass. The batches are executed serially using the defined execution strategy. Within each batch, rules are also executed serially.

    Definition Classes
    RuleExecutor
  31. val extendedCheckRules: Seq[(LogicalPlan) ⇒ Unit]

    Override to provide additional checks for correct analysis.

    Override to provide additional checks for correct analysis. These rules will be evaluated after our built-in check rules.

    Definition Classes
    CheckAnalysis
  32. val extendedResolutionRules: Seq[Rule[LogicalPlan]]

    Override to provide additional rules for the "Resolution" batch.

  33. def failAnalysis(msg: String): Nothing

    Attributes
    protected
    Definition Classes
    CheckAnalysis
  34. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. val fixedPoint: FixedPoint

  36. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  37. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  38. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  39. def isTraceEnabled(): Boolean

    Attributes
    protected
    Definition Classes
    Logging
  40. def log: Logger

    Attributes
    protected
    Definition Classes
    Logging
  41. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  42. def logDebug(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  43. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  44. def logError(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  45. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  46. def logInfo(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  47. def logName: String

    Attributes
    protected
    Definition Classes
    Logging
  48. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  49. def logTrace(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  50. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  51. def logWarning(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  52. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  53. final def notify(): Unit

    Definition Classes
    AnyRef
  54. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  55. def resolver: (String, String) ⇒ Boolean

  56. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  57. def toString(): String

    Definition Classes
    AnyRef → Any
  58. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  60. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from CheckAnalysis

Inherited from RuleExecutor[LogicalPlan]

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped