关注 spark技术分享,
撸spark源码 玩spark最佳实践

PredicateHelper Scala Trait

PredicateHelper Scala Trait

PredicateHelper defines the methods that are used to work with predicates (mainly).

Table 1. PredicateHelper’s Methods
Method Description

splitConjunctivePredicates

splitDisjunctivePredicates

replaceAlias

canEvaluate

canEvaluateWithinJoin

Splitting Conjunctive Predicates — splitConjunctivePredicates Method

splitConjunctivePredicates takes the input condition expression and splits it to two expressions if they are children of a And binary expression.

splitConjunctivePredicates splits the child expressions recursively down the child expressions until no conjunctive And binary expressions exist.

splitDisjunctivePredicates Method

splitDisjunctivePredicates…​FIXME

Note
splitDisjunctivePredicates is used when…​FIXME

replaceAlias Method

replaceAlias…​FIXME

Note
replaceAlias is used when…​FIXME

canEvaluate Method

canEvaluate…​FIXME

Note
canEvaluate is used when…​FIXME

canEvaluateWithinJoin Method

canEvaluateWithinJoin indicates whether a Catalyst expression can be evaluated within a join, i.e. when one of the following conditions holds:

  • Expression is deterministic

  • Expression is not Unevaluable, ListQuery or Exists

  • Expression is a SubqueryExpression with no child expressions

  • Expression is a AttributeReference

  • Any expression with child expressions that meet one of the above conditions

Note

canEvaluateWithinJoin is used when:

  • PushPredicateThroughJoin logical optimization rule is executed

  • ReorderJoin logical optimization rule does createOrderedJoin

赞(0) 打赏
未经允许不得转载:spark技术分享 » PredicateHelper Scala Trait
分享到: 更多 (0)

关注公众号:spark技术分享

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏