object PushDownUtils
- Alphabetic
- By Inheritance
- PushDownUtils
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def pruneColumns(scanBuilder: ScanBuilder, relation: DataSourceV2Relation, projects: Seq[NamedExpression], filters: Seq[Expression]): (Scan, Seq[AttributeReference])
Applies column pruning to the data source, w.r.t.
Applies column pruning to the data source, w.r.t. the references of the given expressions.
- returns
the
Scaninstance (since column pruning is the last step of operator pushdown), and new output attributes after column pruning.
- def pushFilters(scanBuilder: ScanBuilder, filters: Seq[Expression]): (Either[Seq[Filter], Seq[Predicate]], Seq[Expression])
Pushes down filters to the data source reader
Pushes down filters to the data source reader
- returns
pushed filter and post-scan filters.
- def pushLimit(scanBuilder: ScanBuilder, limit: Int): (Boolean, Boolean)
Pushes down LIMIT to the data source Scan.
Pushes down LIMIT to the data source Scan.
- returns
the tuple of Boolean. The first Boolean value represents whether to push down, and the second Boolean value represents whether to push down partially, which means Spark will keep the Limit and do it again.
- def pushOffset(scanBuilder: ScanBuilder, offset: Int): Boolean
Pushes down OFFSET to the data source Scan.
Pushes down OFFSET to the data source Scan.
- returns
the Boolean value represents whether to push down.
- def pushTableSample(scanBuilder: ScanBuilder, sample: TableSampleInfo): Boolean
Pushes down TableSample to the data source Scan
- def pushTopN(scanBuilder: ScanBuilder, order: Array[SortOrder], limit: Int): (Boolean, Boolean)
Pushes down top N to the data source Scan.
Pushes down top N to the data source Scan.
- returns
the tuple of Boolean. The first Boolean value represents whether to push down, and the second Boolean value represents whether to push down partially, which means Spark will keep the Sort and Limit and do it again.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toOutputAttrs(schema: StructType, relation: DataSourceV2Relation): Seq[AttributeReference]
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()