c

org.apache.spark.sql.rapids.execution.python

GpuAggregateInPandasExec

case class GpuAggregateInPandasExec(groupingExpressions: Seq[NamedExpression], udfExpressions: Seq[GpuPythonUDF], resultExpressions: Seq[NamedExpression], child: SparkPlan) extends SparkPlan with UnaryExecNode with GpuPythonExecBase with Product with Serializable

Physical node for aggregation with group aggregate Pandas UDF.

This plan works by sending the necessary (projected) input grouped data as Arrow record batches to the Python worker, the Python worker invokes the UDF and sends the results to the executor. Finally the executor evaluates any post-aggregation expressions and join the result with the grouped key.

This node aims at accelerating the data transfer between JVM and Python for GPU pipeline, and scheduling GPU resources for its Python processes.

Linear Supertypes
GpuPythonExecBase, GpuExec, Arm, UnaryExecNode, SparkPlan, Serializable, Serializable, Logging, QueryPlan[SparkPlan], TreeNode[SparkPlan], Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GpuAggregateInPandasExec
  2. GpuPythonExecBase
  3. GpuExec
  4. Arm
  5. UnaryExecNode
  6. SparkPlan
  7. Serializable
  8. Serializable
  9. Logging
  10. QueryPlan
  11. TreeNode
  12. Product
  13. Equals
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GpuAggregateInPandasExec(groupingExpressions: Seq[NamedExpression], udfExpressions: Seq[GpuPythonUDF], resultExpressions: Seq[NamedExpression], child: SparkPlan)

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 additionalMetrics: Map[String, GpuMetric]
    Definition Classes
    GpuExec
  5. lazy val allAttributes: AttributeSeq
    Definition Classes
    QueryPlan
  6. lazy val allMetrics: Map[String, GpuMetric]
    Definition Classes
    GpuPythonExecBaseGpuExec
  7. def apply(number: Int): TreeNode[_]
    Definition Classes
    TreeNode
  8. def argString(maxFields: Int): String
    Definition Classes
    TreeNode
  9. def asCode: String
    Definition Classes
    TreeNode
  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. final lazy val canonicalized: SparkPlan
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  12. val child: SparkPlan
    Definition Classes
    GpuAggregateInPandasExec → UnaryExecNode
  13. final def children: Seq[SparkPlan]
    Definition Classes
    UnaryExecNode → TreeNode
  14. def childrenCoalesceGoal: Seq[CoalesceGoal]

    A goal to coalesce batches as the input to this operation.

    A goal to coalesce batches as the input to this operation. In some cases an operation will only work if all of the data is in a single batch. In other cases it may be much faster if it is in a single batch, but can tolerate multiple batches. This provides a way to express those desires.

    Definition Classes
    GpuAggregateInPandasExecGpuExec
  15. def cleanupResources(): Unit
    Attributes
    protected[org.apache.spark.sql]
    Definition Classes
    SparkPlan
  16. def clone(): SparkPlan
    Definition Classes
    TreeNode → AnyRef
  17. def closeOnExcept[T <: AutoCloseable, V](r: ArrayBuffer[T])(block: (ArrayBuffer[T]) ⇒ V): V

    Executes the provided code block, closing the resources only if an exception occurs

    Executes the provided code block, closing the resources only if an exception occurs

    Definition Classes
    Arm
  18. def closeOnExcept[T <: AutoCloseable, V](r: Array[T])(block: (Array[T]) ⇒ V): V

    Executes the provided code block, closing the resources only if an exception occurs

    Executes the provided code block, closing the resources only if an exception occurs

    Definition Classes
    Arm
  19. def closeOnExcept[T <: AutoCloseable, V](r: Seq[T])(block: (Seq[T]) ⇒ V): V

    Executes the provided code block, closing the resources only if an exception occurs

    Executes the provided code block, closing the resources only if an exception occurs

    Definition Classes
    Arm
  20. def closeOnExcept[T <: AutoCloseable, V](r: T)(block: (T) ⇒ V): V

    Executes the provided code block, closing the resource only if an exception occurs

    Executes the provided code block, closing the resource only if an exception occurs

    Definition Classes
    Arm
  21. def coalesceAfter: Boolean

    If true is returned batches after this will be coalesced.

    If true is returned batches after this will be coalesced. This should really be used in cases where it is known that the size of a batch may shrink a lot.

    Definition Classes
    GpuAggregateInPandasExecGpuExec
  22. def collect[B](pf: PartialFunction[SparkPlan, B]): Seq[B]
    Definition Classes
    TreeNode
  23. def collectFirst[B](pf: PartialFunction[SparkPlan, B]): Option[B]
    Definition Classes
    TreeNode
  24. def collectLeaves(): Seq[SparkPlan]
    Definition Classes
    TreeNode
  25. def collectWithSubqueries[B](f: PartialFunction[SparkPlan, B]): Seq[B]
    Definition Classes
    QueryPlan
  26. def commonGpuMetrics(): (GpuMetric, GpuMetric, GpuMetric, GpuMetric, SpillCallback)

    Return the common metrics in order of NUM_INPUT_ROWS NUM_INPUT_BATCHES NUM_OUTPUT_ROWS NUM_OUTPUT_BATCHES SpillCallback as a tuple.

    Return the common metrics in order of NUM_INPUT_ROWS NUM_INPUT_BATCHES NUM_OUTPUT_ROWS NUM_OUTPUT_BATCHES SpillCallback as a tuple.

    Attributes
    protected
    Definition Classes
    GpuPythonExecBase
  27. def conf: SQLConf
    Definition Classes
    QueryPlan
  28. lazy val containsChild: Set[TreeNode[_]]
    Definition Classes
    TreeNode
  29. def copyTagsFrom(other: SparkPlan): Unit
    Attributes
    protected
    Definition Classes
    TreeNode
  30. def createAverageMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  31. def createMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  32. def createNanoTimingMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  33. def createSizeMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  34. def createTimingMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  35. def disableCoalesceUntilInput(): Boolean

    Returns true if there is something in the exec that cannot work when batches between multiple file partitions are combined into a single batch (coalesce).

    Returns true if there is something in the exec that cannot work when batches between multiple file partitions are combined into a single batch (coalesce).

    Definition Classes
    GpuExec
  36. def doCanonicalize(): SparkPlan

    Defines how the canonicalization should work for the current plan.

    Defines how the canonicalization should work for the current plan.

    Attributes
    protected
    Definition Classes
    GpuExec → QueryPlan
  37. final def doExecute(): RDD[InternalRow]
    Attributes
    protected
    Definition Classes
    GpuPythonExecBase → SparkPlan
  38. def doExecuteBroadcast[T](): Broadcast[T]
    Attributes
    protected[org.apache.spark.sql]
    Definition Classes
    SparkPlan
  39. def doExecuteColumnar(): RDD[ColumnarBatch]
    Definition Classes
    GpuAggregateInPandasExec → SparkPlan
  40. def doPrepare(): Unit
    Attributes
    protected
    Definition Classes
    SparkPlan
  41. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. final def execute(): RDD[InternalRow]
    Definition Classes
    SparkPlan
  43. final def executeBroadcast[T](): Broadcast[T]
    Definition Classes
    SparkPlan
  44. def executeCollect(): Array[InternalRow]
    Definition Classes
    SparkPlan
  45. def executeCollectPublic(): Array[Row]
    Definition Classes
    SparkPlan
  46. final def executeColumnar(): RDD[ColumnarBatch]
    Definition Classes
    SparkPlan
  47. final def executeQuery[T](query: ⇒ T): T
    Attributes
    protected
    Definition Classes
    SparkPlan
  48. def executeTail(n: Int): Array[InternalRow]
    Definition Classes
    SparkPlan
  49. def executeTake(n: Int): Array[InternalRow]
    Definition Classes
    SparkPlan
  50. def executeToIterator(): Iterator[InternalRow]
    Definition Classes
    SparkPlan
  51. final def expressions: Seq[Expression]
    Definition Classes
    QueryPlan
  52. def fastEquals(other: TreeNode[_]): Boolean
    Definition Classes
    TreeNode
  53. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  54. def find(f: (SparkPlan) ⇒ Boolean): Option[SparkPlan]
    Definition Classes
    TreeNode
  55. def flatMap[A](f: (SparkPlan) ⇒ TraversableOnce[A]): Seq[A]
    Definition Classes
    TreeNode
  56. def foreach(f: (SparkPlan) ⇒ Unit): Unit
    Definition Classes
    TreeNode
  57. def foreachUp(f: (SparkPlan) ⇒ Unit): Unit
    Definition Classes
    TreeNode
  58. def formattedNodeName: String
    Attributes
    protected
    Definition Classes
    QueryPlan
  59. def freeOnExcept[T <: RapidsBuffer, V](r: T)(block: (T) ⇒ V): V

    Executes the provided code block, freeing the RapidsBuffer only if an exception occurs

    Executes the provided code block, freeing the RapidsBuffer only if an exception occurs

    Definition Classes
    Arm
  60. def generateTreeString(depth: Int, lastChildren: Seq[Boolean], append: (String) ⇒ Unit, verbose: Boolean, prefix: String, addSuffix: Boolean, maxFields: Int, printNodeId: Boolean): Unit
    Definition Classes
    TreeNode
  61. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  62. def getTagValue[T](tag: TreeNodeTag[T]): Option[T]
    Definition Classes
    TreeNode
  63. def gpuLongMetric(name: String): GpuMetric
    Definition Classes
    GpuExec
  64. val groupingExpressions: Seq[NamedExpression]
  65. def hashCode(): Int
    Definition Classes
    TreeNode → AnyRef → Any
  66. val id: Int
    Definition Classes
    SparkPlan
  67. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  68. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  69. def innerChildren: Seq[QueryPlan[_]]
    Definition Classes
    QueryPlan → TreeNode
  70. def inputSet: AttributeSet
    Definition Classes
    QueryPlan
  71. def isCanonicalizedPlan: Boolean
    Attributes
    protected
    Definition Classes
    QueryPlan
  72. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  73. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  74. def jsonFields: List[JField]
    Attributes
    protected
    Definition Classes
    TreeNode
  75. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  76. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  77. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  78. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  79. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  80. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  81. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  82. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  83. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  84. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  85. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  86. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  87. def logicalLink: Option[LogicalPlan]
    Definition Classes
    SparkPlan
  88. def longMetric(name: String): SQLMetric
    Definition Classes
    SparkPlan
  89. def makeCopy(newArgs: Array[AnyRef]): SparkPlan
    Definition Classes
    SparkPlan → TreeNode
  90. def map[A](f: (SparkPlan) ⇒ A): Seq[A]
    Definition Classes
    TreeNode
  91. def mapChildren(f: (SparkPlan) ⇒ SparkPlan): SparkPlan
    Definition Classes
    TreeNode
  92. def mapExpressions(f: (Expression) ⇒ Expression): GpuAggregateInPandasExec.this.type
    Definition Classes
    QueryPlan
  93. def mapProductIterator[B](f: (Any) ⇒ B)(implicit arg0: ClassTag[B]): Array[B]
    Attributes
    protected
    Definition Classes
    TreeNode
  94. final lazy val metrics: Map[String, SQLMetric]
    Definition Classes
    GpuExec → SparkPlan
  95. final def missingInput: AttributeSet
    Definition Classes
    QueryPlan
  96. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  97. def nodeName: String
    Definition Classes
    TreeNode
  98. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  99. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  100. def numberedTreeString: String
    Definition Classes
    TreeNode
  101. val origin: Origin
    Definition Classes
    TreeNode
  102. def otherCopyArgs: Seq[AnyRef]
    Attributes
    protected
    Definition Classes
    TreeNode
  103. val output: Seq[Attribute]
    Definition Classes
    GpuAggregateInPandasExec → QueryPlan
  104. val outputBatchesLevel: MetricsLevel
    Attributes
    protected
    Definition Classes
    GpuExec
  105. def outputBatching: CoalesceGoal

    Lets a SparkPlan indicate what guarantees, if any, its output batch has.

    Lets a SparkPlan indicate what guarantees, if any, its output batch has. This lets us bypass GpuCoalesceBatch calls where ever possible. Returning a null indicates no guarantee at all, which is the default.

    Definition Classes
    GpuExec
  106. def outputOrdering: Seq[SortOrder]
    Definition Classes
    SparkPlan
  107. def outputPartitioning: Partitioning
    Definition Classes
    GpuAggregateInPandasExec → SparkPlan
  108. val outputRowsLevel: MetricsLevel
    Attributes
    protected
    Definition Classes
    GpuExec
  109. lazy val outputSet: AttributeSet
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  110. def p(number: Int): SparkPlan
    Definition Classes
    TreeNode
  111. final def prepare(): Unit
    Definition Classes
    SparkPlan
  112. def prepareSubqueries(): Unit
    Attributes
    protected
    Definition Classes
    SparkPlan
  113. def prettyJson: String
    Definition Classes
    TreeNode
  114. def printSchema(): Unit
    Definition Classes
    QueryPlan
  115. def producedAttributes: AttributeSet
    Definition Classes
    GpuAggregateInPandasExec → QueryPlan
  116. lazy val references: AttributeSet
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  117. def requiredChildDistribution: Seq[Distribution]
    Definition Classes
    GpuAggregateInPandasExec → SparkPlan
  118. def requiredChildOrdering: Seq[Seq[SortOrder]]
    Definition Classes
    GpuAggregateInPandasExec → SparkPlan
  119. def resetMetrics(): Unit
    Definition Classes
    SparkPlan
  120. val resultExpressions: Seq[NamedExpression]
  121. final def sameResult(other: SparkPlan): Boolean
    Definition Classes
    QueryPlan
  122. lazy val schema: StructType
    Definition Classes
    QueryPlan
  123. def schemaString: String
    Definition Classes
    QueryPlan
  124. final def semanticHash(): Int
    Definition Classes
    QueryPlan
  125. def setLogicalLink(logicalPlan: LogicalPlan): Unit
    Definition Classes
    SparkPlan
  126. def setTagValue[T](tag: TreeNodeTag[T], value: T): Unit
    Definition Classes
    TreeNode
  127. def simpleString(maxFields: Int): String
    Definition Classes
    QueryPlan → TreeNode
  128. def simpleStringWithNodeId(): String
    Definition Classes
    QueryPlan → TreeNode
  129. def sparkContext: SparkContext
    Attributes
    protected
    Definition Classes
    SparkPlan
  130. def spillMetrics: Map[String, GpuMetric]
    Attributes
    protected
    Definition Classes
    GpuExec
  131. final val sqlContext: SQLContext
    Definition Classes
    SparkPlan
  132. def statePrefix: String
    Attributes
    protected
    Definition Classes
    QueryPlan
  133. def stringArgs: Iterator[Any]
    Attributes
    protected
    Definition Classes
    TreeNode
  134. def subqueries: Seq[SparkPlan]
    Definition Classes
    QueryPlan
  135. def subqueriesAll: Seq[SparkPlan]
    Definition Classes
    QueryPlan
  136. def supportsColumnar: Boolean
    Definition Classes
    GpuExec → SparkPlan
  137. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  138. def toJSON: String
    Definition Classes
    TreeNode
  139. def toString(): String
    Definition Classes
    TreeNode → AnyRef → Any
  140. def transform(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan
    Definition Classes
    TreeNode
  141. def transformAllExpressions(rule: PartialFunction[Expression, Expression]): GpuAggregateInPandasExec.this.type
    Definition Classes
    QueryPlan
  142. def transformDown(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan
    Definition Classes
    TreeNode
  143. def transformExpressions(rule: PartialFunction[Expression, Expression]): GpuAggregateInPandasExec.this.type
    Definition Classes
    QueryPlan
  144. def transformExpressionsDown(rule: PartialFunction[Expression, Expression]): GpuAggregateInPandasExec.this.type
    Definition Classes
    QueryPlan
  145. def transformExpressionsUp(rule: PartialFunction[Expression, Expression]): GpuAggregateInPandasExec.this.type
    Definition Classes
    QueryPlan
  146. def transformUp(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan
    Definition Classes
    TreeNode
  147. def treeString(append: (String) ⇒ Unit, verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): Unit
    Definition Classes
    TreeNode
  148. final def treeString(verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): String
    Definition Classes
    TreeNode
  149. final def treeString: String
    Definition Classes
    TreeNode
  150. val udfExpressions: Seq[GpuPythonUDF]
  151. def unsetTagValue[T](tag: TreeNodeTag[T]): Unit
    Definition Classes
    TreeNode
  152. def vectorTypes: Option[Seq[String]]
    Definition Classes
    SparkPlan
  153. def verboseString(maxFields: Int): String
    Definition Classes
    QueryPlan → TreeNode
  154. def verboseStringWithOperatorId(): String
    Definition Classes
    UnaryExecNode → QueryPlan
  155. def verboseStringWithSuffix(maxFields: Int): String
    Definition Classes
    TreeNode
  156. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  157. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  158. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  159. def waitForSubqueries(): Unit
    Attributes
    protected
    Definition Classes
    SparkPlan
  160. def withNewChildren(newChildren: Seq[SparkPlan]): SparkPlan
    Definition Classes
    TreeNode
  161. def withResource[T <: AutoCloseable, V](r: ArrayBuffer[T])(block: (ArrayBuffer[T]) ⇒ V): V

    Executes the provided code block and then closes the array buffer of resources

    Executes the provided code block and then closes the array buffer of resources

    Definition Classes
    Arm
  162. def withResource[T <: AutoCloseable, V](r: Array[T])(block: (Array[T]) ⇒ V): V

    Executes the provided code block and then closes the array of resources

    Executes the provided code block and then closes the array of resources

    Definition Classes
    Arm
  163. def withResource[T <: AutoCloseable, V](r: Seq[T])(block: (Seq[T]) ⇒ V): V

    Executes the provided code block and then closes the sequence of resources

    Executes the provided code block and then closes the sequence of resources

    Definition Classes
    Arm
  164. def withResource[T <: AutoCloseable, V](r: Option[T])(block: (Option[T]) ⇒ V): V

    Executes the provided code block and then closes the Option[resource]

    Executes the provided code block and then closes the Option[resource]

    Definition Classes
    Arm
  165. def withResource[T <: AutoCloseable, V](r: T)(block: (T) ⇒ V): V

    Executes the provided code block and then closes the resource

    Executes the provided code block and then closes the resource

    Definition Classes
    Arm
  166. def withResourceIfAllowed[T, V](r: T)(block: (T) ⇒ V): V

    Executes the provided code block and then closes the value if it is AutoCloseable

    Executes the provided code block and then closes the value if it is AutoCloseable

    Definition Classes
    Arm

Inherited from GpuPythonExecBase

Inherited from GpuExec

Inherited from Arm

Inherited from UnaryExecNode

Inherited from SparkPlan

Inherited from Serializable

Inherited from Serializable

Inherited from Logging

Inherited from QueryPlan[SparkPlan]

Inherited from TreeNode[SparkPlan]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped