object DataSourceStrategy extends Strategy with Logging with CastSupport with PredicateHelper with SQLConfHelper
A Strategy for planning scans over data sources defined using the sources API.
- Alphabetic
- By Inheritance
- DataSourceStrategy
- SQLConfHelper
- PredicateHelper
- AliasHelper
- CastSupport
- SparkStrategy
- GenericStrategy
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
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
-
def
apply(plan: LogicalPlan): Seq[SparkPlan]
- Definition Classes
- DataSourceStrategy → GenericStrategy
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
buildBalancedPredicate(expressions: Seq[Expression], op: (Expression, Expression) ⇒ Expression): Expression
- Attributes
- protected
- Definition Classes
- PredicateHelper
-
def
canEvaluate(expr: Expression, plan: LogicalPlan): Boolean
- Attributes
- protected
- Definition Classes
- PredicateHelper
-
def
canEvaluateWithinJoin(expr: Expression): Boolean
- Attributes
- protected
- Definition Classes
- PredicateHelper
-
def
cast(child: Expression, dataType: DataType): Cast
- Definition Classes
- CastSupport
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
conf: SQLConf
- Definition Classes
- SQLConfHelper
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
extractPredicatesWithinOutputSet(condition: Expression, outputSet: AttributeSet): Option[Expression]
- Attributes
- protected
- Definition Classes
- PredicateHelper
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
findExpressionAndTrackLineageDown(exp: Expression, plan: LogicalPlan): Option[(Expression, LogicalPlan)]
- Definition Classes
- PredicateHelper
-
def
getAliasMap(exprs: Seq[NamedExpression]): AttributeMap[Alias]
- Attributes
- protected
- Definition Classes
- AliasHelper
-
def
getAliasMap(plan: Aggregate): AttributeMap[Alias]
- Attributes
- protected
- Definition Classes
- AliasHelper
-
def
getAliasMap(plan: Project): AttributeMap[Alias]
- Attributes
- protected
- Definition Classes
- AliasHelper
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getPushedDownFilters(partitionColumns: Seq[Expression], normalizedFilters: Seq[Expression]): ExpressionSet
-
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
isNullIntolerant(expr: Expression): Boolean
- Attributes
- protected
- Definition Classes
- PredicateHelper
-
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
normalizeExprs(exprs: Seq[Expression], attributes: Seq[Attribute]): Seq[Expression]
The attribute name may differ from the one in the schema if the query analyzer is case insensitive.
The attribute name may differ from the one in the schema if the query analyzer is case insensitive. We should change attribute names to match the ones in the schema, so we do not need to worry about case sensitivity anymore.
- Attributes
- protected[sql]
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
outputWithNullability(output: Seq[Attribute], nonNullAttrExprIds: Seq[ExprId]): Seq[Attribute]
- Attributes
- protected
- Definition Classes
- PredicateHelper
-
def
planLater(plan: LogicalPlan): SparkPlan
- Attributes
- protected
- Definition Classes
- SparkStrategy → GenericStrategy
-
def
rebuildExpressionFromFilter(filter: Filter, translatedFilterToExpr: HashMap[Filter, Expression]): Expression
- Attributes
- protected[sql]
-
def
replaceAlias(expr: Expression, aliasMap: AttributeMap[Alias]): Expression
- Attributes
- protected
- Definition Classes
- AliasHelper
-
def
replaceAliasButKeepName(expr: NamedExpression, aliasMap: AttributeMap[Alias]): NamedExpression
- Attributes
- protected
- Definition Classes
- AliasHelper
-
def
selectFilters(relation: BaseRelation, predicates: Seq[Expression]): (Seq[Expression], Seq[Filter], Set[Filter])
Selects Catalyst predicate Expressions which are convertible into data source Filters and can be handled by
relation
.Selects Catalyst predicate Expressions which are convertible into data source Filters and can be handled by
relation
.- returns
A triplet of
Seq[Expression]
,Seq[Filter]
, andSeq[Filter]
. The first element contains all Catalyst predicate Expressions that are either not convertible or cannot be handled byrelation
. The second element contains all converted data source Filters that will be pushed down to the data source. The third element contains all Filters that are completely filtered at the DataSource.
- Attributes
- protected[sql]
-
def
splitConjunctivePredicates(condition: Expression): Seq[Expression]
- Attributes
- protected
- Definition Classes
- PredicateHelper
-
def
splitDisjunctivePredicates(condition: Expression): Seq[Expression]
- Attributes
- protected
- Definition Classes
- PredicateHelper
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
translateAggregate(aggregates: AggregateExpression): Option[AggregateFunc]
- Attributes
- protected[sql]
-
def
translateFilter(predicate: Expression, supportNestedPredicatePushdown: Boolean): Option[Filter]
Tries to translate a Catalyst Expression into data source Filter.
Tries to translate a Catalyst Expression into data source Filter.
- returns
a
Some[Filter]
if the input Expression is convertible, otherwise aNone
.
- Attributes
- protected[sql]
-
def
translateFilterWithMapping(predicate: Expression, translatedFilterToExpr: Option[HashMap[Filter, Expression]], nestedPredicatePushdownEnabled: Boolean): Option[Filter]
Tries to translate a Catalyst Expression into data source Filter.
Tries to translate a Catalyst Expression into data source Filter.
- predicate
The input Expression to be translated as Filter
- translatedFilterToExpr
An optional map from leaf node filter expressions to its translated Filter. The map is used for rebuilding Expression from Filter.
- nestedPredicatePushdownEnabled
Whether nested predicate pushdown is enabled.
- returns
a
Some[Filter]
if the input Expression is convertible, otherwise aNone
.
- Attributes
- protected[sql]
-
def
translateRuntimeFilter(expr: Expression): Option[Filter]
Translates a runtime filter into a data source filter.
Translates a runtime filter into a data source filter.
Runtime filters usually contain a subquery that must be evaluated before the translation. If the underlying subquery hasn't completed yet, this method will throw an exception.
- Attributes
- protected[sql]
-
def
trimAliases(e: Expression): Expression
- Attributes
- protected
- Definition Classes
- AliasHelper
-
def
trimNonTopLevelAliases[T <: Expression](e: T): T
- Attributes
- protected
- Definition Classes
- AliasHelper
-
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()