org.apache.spark.sql.catalyst.analysis

SimpleAnalyzer

object SimpleAnalyzer extends Analyzer

A trivial Analyzer with a dummy SessionCatalog and EmptyFunctionRegistry. Used for testing when all relations are already filled in and the analyzer needs only to resolve attribute references.

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

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]

    Analyze cte definitions and substitute child plan with analyzed cte definitions.

  7. object ExtractGenerator extends Rule[LogicalPlan]

    Extracts Generator from the projectList of a Project operator and create Generate operator under Project.

  8. 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.

  9. object FixNullability extends Rule[LogicalPlan]

    Fixes nullability of Attributes in a resolved LogicalPlan by using the nullability of corresponding Attributes of its children output Attributes.

  10. object GlobalAggregates extends Rule[LogicalPlan]

    Turns projections that contain aggregate expressions into aggregations.

  11. object HandleNullInputsForUDF extends Rule[LogicalPlan]

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

  12. object LookupFunctions extends Rule[LogicalPlan]

    Checks whether a function identifier referenced by an UnresolvedFunction is defined in the function registry.

  13. object Once extends Strategy with Product with Serializable

    A strategy that only runs once.

  14. 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.

  15. object ResolveAggAliasInGroupBy extends Rule[LogicalPlan]

    Replace unresolved expressions in grouping keys with resolved ones in SELECT clauses.

  16. object ResolveAggregateFunctions extends Rule[LogicalPlan]

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

  17. object ResolveAliases extends Rule[LogicalPlan]

    Replaces UnresolvedAliass with concrete aliases.

  18. object ResolveDeserializer extends Rule[LogicalPlan]

    Replaces UnresolvedDeserializer with the deserialization expression that has been resolved to the given input attributes.

  19. object ResolveFunctions extends Rule[LogicalPlan]

    Replaces UnresolvedFunctions with concrete Expressions.

  20. object ResolveGenerate extends Rule[LogicalPlan]

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

  21. object ResolveGroupingAnalytics extends Rule[LogicalPlan]

    Definition Classes
    Analyzer
  22. object ResolveMissingReferences extends Rule[LogicalPlan]

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

  23. object ResolveNaturalAndUsingJoin extends Rule[LogicalPlan]

    Removes natural or using joins by calculating output columns based on output from two sides, Then apply a Project on a normal Join to eliminate natural or using join.

  24. object ResolveNewInstance extends Rule[LogicalPlan]

    Resolves NewInstance by finding and adding the outer scope to it if the object being constructed is an inner class.

  25. object ResolveOrdinalInOrderByAndGroupBy extends Rule[LogicalPlan]

    In many dialects of SQL it is valid to use ordinal positions in order/sort by and group by clauses.

  26. object ResolvePivot extends Rule[LogicalPlan]

    Definition Classes
    Analyzer
  27. object ResolveReferences extends Rule[LogicalPlan]

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

  28. object ResolveRelations extends Rule[LogicalPlan]

    Replaces UnresolvedRelations with concrete relations from the catalog.

  29. object ResolveSubquery extends Rule[LogicalPlan] with PredicateHelper

    This rule resolves and rewrites subqueries inside expressions.

  30. object ResolveUpCast extends Rule[LogicalPlan]

    Replace the UpCast expression by Cast, and throw exceptions if the cast may truncate.

  31. object ResolveWindowFrame extends Rule[LogicalPlan]

    Check and add proper window frames for all window functions.

  32. object ResolveWindowOrder extends Rule[LogicalPlan]

    Check and add order to AggregateWindowFunctions.

  33. object WindowsSubstitution extends Rule[LogicalPlan]

    Substitute child plan with WindowSpecDefinitions.

  34. final def asInstanceOf[T0]: T0

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

    Definition Classes
    AnalyzerRuleExecutor
  36. def canEvaluate(expr: Expression, plan: LogicalPlan): Boolean

    Returns true if expr can be evaluated using only the output of plan.

    Returns true if expr can be evaluated using only the output of plan. This method can be used to determine when it is acceptable to move expression evaluation within a query plan.

    For example consider a join between two relations R(a, b) and S(c, d).

    - canEvaluate(EqualTo(a,b), R) returns true - canEvaluate(EqualTo(a,c), R) returns false - canEvaluate(Literal(1), R) returns true as literals CAN be evaluated on any plan

    Attributes
    protected
    Definition Classes
    PredicateHelper
  37. def canEvaluateWithinJoin(expr: Expression): Boolean

    Returns true iff expr could be evaluated as a condition within join.

    Returns true iff expr could be evaluated as a condition within join.

    Attributes
    protected
    Definition Classes
    PredicateHelper
  38. def checkAnalysis(plan: LogicalPlan): Unit

    Definition Classes
    CheckAnalysis
  39. def clone(): AnyRef

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

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

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

    Definition Classes
    AnyRef → Any
  43. 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
  44. 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
  45. val extendedResolutionRules: Seq[Rule[LogicalPlan]]

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

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

    Definition Classes
    Analyzer
  46. def failAnalysis(msg: String): Nothing

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

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

    Attributes
    protected
    Definition Classes
    Analyzer
  49. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  50. def hasMapType(dt: DataType): Boolean

    Attributes
    protected
    Definition Classes
    CheckAnalysis
  51. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  52. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Attributes
    protected
    Definition Classes
    Logging
  53. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  54. def isTraceEnabled(): Boolean

    Attributes
    protected
    Definition Classes
    Logging
  55. def log: Logger

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    Logging
  62. def logName: String

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

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

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

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

    Attributes
    protected
    Definition Classes
    Logging
  67. def mapColumnInSetOperation(plan: LogicalPlan): Option[Attribute]

    Attributes
    protected
    Definition Classes
    CheckAnalysis
  68. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  71. val postHocResolutionRules: Seq[Rule[LogicalPlan]]

    Override to provide rules to do post-hoc resolution.

    Override to provide rules to do post-hoc resolution. Note that these rules will be executed in an individual batch. This batch is to run right after the normal resolution batch and execute its rules in one pass.

    Definition Classes
    Analyzer
  72. def replaceAlias(condition: Expression, aliases: AttributeMap[Expression]): Expression

    Attributes
    protected
    Definition Classes
    PredicateHelper
  73. def resolveExpression(expr: Expression, plan: LogicalPlan, throws: Boolean = false): Expression

    Attributes
    protected[org.apache.spark.sql]
    Definition Classes
    Analyzer
  74. def resolver: (String, String) ⇒ Boolean

    Definition Classes
    Analyzer
  75. def splitConjunctivePredicates(condition: Expression): Seq[Expression]

    Attributes
    protected
    Definition Classes
    PredicateHelper
  76. def splitDisjunctivePredicates(condition: Expression): Seq[Expression]

    Attributes
    protected
    Definition Classes
    PredicateHelper
  77. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  78. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Analyzer

Inherited from CheckAnalysis

Inherited from PredicateHelper

Inherited from RuleExecutor[LogicalPlan]

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped