org.apache.spark.sql.catalyst.optimizer
SimpleTestOptimizer
Companion object SimpleTestOptimizer
class SimpleTestOptimizer extends Optimizer
- Alphabetic
- By Inheritance
- SimpleTestOptimizer
- Optimizer
- RuleExecutor
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new SimpleTestOptimizer()
Type Members
-
case class
Batch(name: String, strategy: Strategy, rules: Rule[TreeType]*) extends Product with Serializable
A batch of rules.
A batch of rules.
- Attributes
- protected
- Definition Classes
- RuleExecutor
-
case class
FixedPoint(maxIterations: Int, errorOnExceed: Boolean = false, maxIterationsSetting: String = null) extends Strategy with Product with Serializable
A strategy that runs until fix point or maxIterations times, whichever comes first.
A strategy that runs until fix point or maxIterations times, whichever comes first. Especially, a FixedPoint(1) batch is supposed to run only once.
- Definition Classes
- RuleExecutor
-
abstract
class
Strategy extends AnyRef
An execution strategy for rules that indicates the maximum number of executions.
An execution strategy for rules that indicates the maximum number of executions. If the execution reaches fix point (i.e. converge) before maxIterations, it will stop.
- Definition Classes
- RuleExecutor
Value Members
-
object
OptimizeSubqueries extends Rule[LogicalPlan]
Optimize all the subqueries inside expression.
Optimize all the subqueries inside expression.
- Definition Classes
- Optimizer
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
batches: Seq[Batch]
Returns (defaultBatches - (excludedRules - nonExcludableRules)), the rule batches that eventually run in the Optimizer.
Returns (defaultBatches - (excludedRules - nonExcludableRules)), the rule batches that eventually run in the Optimizer.
Implementations of this class should override defaultBatches, and nonExcludableRules if necessary, instead of this method.
- Definition Classes
- Optimizer → RuleExecutor
-
val
blacklistedOnceBatches: Set[String]
- Attributes
- protected
- Definition Classes
- Optimizer → RuleExecutor
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
defaultBatches: Seq[Batch]
Defines the default rule batches in the Optimizer.
Defines the default rule batches in the Optimizer.
Implementations of this class should override this method, and nonExcludableRules if necessary, instead of batches. The rule batches that eventually run in the Optimizer, i.e., returned by batches, will be (defaultBatches - (excludedRules - nonExcludableRules)).
- Definition Classes
- Optimizer
-
def
earlyScanPushDownRules: Seq[Rule[LogicalPlan]]
Override to provide additional rules for early projection and filter pushdown to scans.
Override to provide additional rules for early projection and filter pushdown to scans.
- Definition Classes
- Optimizer
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
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
-
def
executeAndTrack(plan: LogicalPlan, tracker: QueryPlanningTracker): LogicalPlan
Executes the batches of rules defined by the subclass, and also tracks timing info for each rule using the provided tracker.
Executes the batches of rules defined by the subclass, and also tracks timing info for each rule using the provided tracker.
- Definition Classes
- RuleExecutor
- See also
-
def
extendedOperatorOptimizationRules: Seq[Rule[LogicalPlan]]
Override to provide additional rules for the operator optimization batch.
Override to provide additional rules for the operator optimization batch.
- Definition Classes
- Optimizer
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fixedPoint: FixedPoint
- Attributes
- protected
- Definition Classes
- Optimizer
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isPlanIntegral(plan: LogicalPlan): Boolean
Defines a check function that checks for structural integrity of the plan after the execution of each rule.
Defines a check function that checks for structural integrity of the plan after the execution of each rule. For example, we can check whether a plan is still resolved after each rule in
Optimizer, so we can catch rules that return invalid plans. The check function returnsfalseif the given plan doesn't pass the structural integrity check.- Attributes
- protected
- Definition Classes
- Optimizer → RuleExecutor
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
nonExcludableRules: Seq[String]
Defines rules that cannot be excluded from the Optimizer even if they are specified in SQL config "excludedRules".
Defines rules that cannot be excluded from the Optimizer even if they are specified in SQL config "excludedRules".
Implementations of this class can override this method if necessary. The rule batches that eventually run in the Optimizer, i.e., returned by batches, will be (defaultBatches - (excludedRules - nonExcludableRules)).
- Definition Classes
- Optimizer
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
object
Once extends Strategy with Product with Serializable
A strategy that is run once and idempotent.
A strategy that is run once and idempotent.
- Definition Classes
- RuleExecutor