Packages

t

org.apache.spark.sql.connector.read

SupportsPushDownFilters

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

Linear Supertypes
ScanBuilder, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SupportsPushDownFilters
  2. ScanBuilder
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def build(): Scan
    Definition Classes
    ScanBuilder
  2. 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.

  3. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from ScanBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped