trait SupportsPushDownFilters extends ScanBuilder
A mix-in interface for ScanBuilder
. Data sources can implement this interface to
push down filters to the data source and reduce the size of the data to be read.
- Annotations
- @Evolving()
- Source
- SupportsPushDownFilters.java
- Since
3.0.0
- Alphabetic
- By Inheritance
- SupportsPushDownFilters
- ScanBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def build(): Scan
- Definition Classes
- ScanBuilder
- abstract def pushFilters(filters: Array[Filter]): Array[Filter]
Pushes down filters, and returns filters that need to be evaluated after scanning.
Pushes down filters, and returns filters that need to be evaluated after scanning.
Rows should be returned from the data source if and only if all of the filters match. That is, filters must be interpreted as ANDed together.
- abstract def pushedFilters(): Array[Filter]
Returns the filters that are pushed to the data source via
#pushFilters(Filter[])
.Returns the filters that are pushed to the data source via
#pushFilters(Filter[])
.There are 3 kinds of filters:
- pushable filters which don't need to be evaluated again after scanning.
- pushable filters which still need to be evaluated after scanning, e.g. parquet row group filter.
- non-pushable filters.
Both case 1 and 2 should be considered as pushed filters and should be returned by this method.
It's possible that there is no filters in the query and
#pushFilters(Filter[])
is never called, empty array should be returned for this case.
Concrete 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]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @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
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)