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)
- Alphabetic
- By Inheritance
- GpuTieredProject
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new GpuTieredProject(exprTiers: Seq[Seq[GpuExpression]])
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
-
lazy val
areAllRetryable: Boolean
Is everything retryable.
Is everything retryable. This can help with reliability in the common case.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val exprTiers: Seq[Seq[GpuExpression]]
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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
-
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()
- lazy val outputTypes: Array[DataType]
- def project(batch: ColumnarBatch): ColumnarBatch
-
def
projectAndCloseWithRetrySingleBatch(sb: SpillableColumnarBatch): ColumnarBatch
Do a project with retry and close the input batch when done.
-
def
projectWithRetrySingleBatch(sb: SpillableColumnarBatch): ColumnarBatch
Do a project with retry, but don't close the input batch.
- lazy val retryables: Seq[Retryable]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()