Packages

c

com.nvidia.spark.rapids

GpuTieredProject

case class GpuTieredProject(exprTiers: Seq[Seq[GpuExpression]]) extends Product with Serializable

Do projections in a tiered fashion, where earlier tiers contain sub-expressions that are referenced in later tiers. Each tier adds columns to the original batch corresponding to the output of the sub-expressions. It also removes columns that are no longer needed, based on inputAttrTiers for the current tier and the next tier. Example of how this is processed: Original projection expressions: (((a + b) + c) * e), (((a + b) + d) * f), (a + e), (c + f) Input columns for tier 1: a, b, c, d, e, f (original projection inputs) Tier 1: (a + b) as ref1 Input columns for tier 2: a, c, d, e, f, ref1 Tier 2: (ref1 + c) as ref2, (ref1 + d) as ref3 Input columns for tier 3: a, c, e, f, ref2, ref3 Tier 3: (ref2 * e), (ref3 * f), (a + e), (c + f)

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GpuTieredProject
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GpuTieredProject(exprTiers: Seq[Seq[GpuExpression]])

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. lazy val areAllRetryable: Boolean

    Is everything retryable.

    Is everything retryable. This can help with reliability in the common case.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. val exprTiers: Seq[Seq[GpuExpression]]
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def getPassThroughIndex(index: Int): Option[Int]

    Given an output index check to see if this is just going to be a pass through to a specific input column index.

    Given an output index check to see if this is just going to be a pass through to a specific input column index.

    index

    the output column index to check

    returns

    the index of the input column that it passes through to or else None

  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. lazy val outputTypes: Array[DataType]
  17. def project(batch: ColumnarBatch): ColumnarBatch
  18. def projectAndCloseWithRetrySingleBatch(sb: SpillableColumnarBatch): ColumnarBatch

    Do a project with retry and close the input batch when done.

  19. def projectWithRetrySingleBatch(sb: SpillableColumnarBatch): ColumnarBatch

    Do a project with retry, but don't close the input batch.

  20. lazy val retryables: Seq[Retryable]
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped