c

org.apache.spark.sql.hive.rapids

GpuHiveTableScanExec

case class GpuHiveTableScanExec(requestedAttributes: Seq[Attribute], hiveTableRelation: HiveTableRelation, partitionPruningPredicate: Seq[Expression]) extends SparkPlan with GpuExec with ShimSparkPlan with LeafExecNode with CastSupport with Product with Serializable

RAPIDS replacement for the org.apache.spark.sql.hive.execution.HiveTableScanExec, for supporting reading Hive delimited text format.

While the HiveTableScanExec supports all the data formats that Hive does, the GpuHiveTableScanExec currently supports only text tables.

This GpuExec supports reading from Hive tables under the following conditions:

  1. The table is stored as TEXTFILE (i.e. input-format == TextInputFormat, serde == LazySimpleSerDe). 2. The table contains only columns of primitive types. Specifically, STRUCT, ARRAY, MAP, and BINARY are not supported. 3. The table uses Hive's default record delimiters ('Ctrl-A'), and line delimiters ('\n').
requestedAttributes

Columns to be read from the table

hiveTableRelation

The Hive table to be scanned

partitionPruningPredicate

Partition-pruning predicate for Hive partitioned tables

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

Instance Constructors

  1. new GpuHiveTableScanExec(requestedAttributes: Seq[Attribute], hiveTableRelation: HiveTableRelation, partitionPruningPredicate: Seq[Expression])

    requestedAttributes

    Columns to be read from the table

    hiveTableRelation

    The Hive table to be scanned

    partitionPruningPredicate

    Partition-pruning predicate for Hive partitioned tables

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
    GpuHiveTableScanExecGpuExec
  5. lazy val allAttributes: AttributeSeq
    Definition Classes
    QueryPlan
  6. lazy val allMetrics: Map[String, GpuMetric]
    Definition Classes
    GpuExec
  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. def cast(child: Expression, dataType: DataType): Cast
    Definition Classes
    CastSupport
  13. final def children: Seq[SparkPlan]
    Definition Classes
    LeafExecNode → 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
    GpuExec
  15. def cleanupResources(): Unit
    Attributes
    protected[sql]
    Definition Classes
    SparkPlan
  16. def clone(): SparkPlan
    Definition Classes
    TreeNode → AnyRef
  17. 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
    GpuExec
  18. def collect[B](pf: PartialFunction[SparkPlan, B]): Seq[B]
    Definition Classes
    TreeNode
  19. def collectFirst[B](pf: PartialFunction[SparkPlan, B]): Option[B]
    Definition Classes
    TreeNode
  20. def collectLeaves(): Seq[SparkPlan]
    Definition Classes
    TreeNode
  21. def collectWithSubqueries[B](f: PartialFunction[SparkPlan, B]): Seq[B]
    Definition Classes
    QueryPlan
  22. def conf: SQLConf
    Definition Classes
    SQLConfHelper
  23. lazy val containsChild: Set[TreeNode[_]]
    Definition Classes
    TreeNode
  24. def copyTagsFrom(other: SparkPlan): Unit
    Definition Classes
    TreeNode
  25. def createAverageMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  26. def createFileCacheMetrics(): Map[String, GpuMetric]
    Attributes
    protected
    Definition Classes
    GpuExec
  27. def createMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  28. def createNanoTimingMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  29. def createSizeMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  30. def createTimingMetric(level: MetricsLevel, name: String): GpuMetric
    Attributes
    protected
    Definition Classes
    GpuExec
  31. 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
  32. def doCanonicalize(): GpuHiveTableScanExec

    Defines how the canonicalization should work for the current plan.

    Defines how the canonicalization should work for the current plan.

    Definition Classes
    GpuHiveTableScanExecGpuExec → QueryPlan
  33. def doExecute(): RDD[InternalRow]
    Attributes
    protected
    Definition Classes
    GpuHiveTableScanExec → SparkPlan
  34. def doExecuteBroadcast[T](): Broadcast[T]
    Attributes
    protected[sql]
    Definition Classes
    SparkPlan
  35. final def doExecuteColumnar(): RDD[ColumnarBatch]
    Definition Classes
    GpuExec → SparkPlan
  36. def doPrepare(): Unit
    Attributes
    protected
    Definition Classes
    SparkPlan
  37. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. final def execute(): RDD[InternalRow]
    Definition Classes
    SparkPlan
  39. final def executeBroadcast[T](): Broadcast[T]
    Definition Classes
    SparkPlan
  40. def executeCollect(): Array[InternalRow]
    Definition Classes
    SparkPlan
  41. def executeCollectPublic(): Array[Row]
    Definition Classes
    SparkPlan
  42. final def executeColumnar(): RDD[ColumnarBatch]
    Definition Classes
    SparkPlan
  43. final def executeQuery[T](query: ⇒ T): T
    Attributes
    protected
    Definition Classes
    SparkPlan
  44. def executeTail(n: Int): Array[InternalRow]
    Definition Classes
    SparkPlan
  45. def executeTake(n: Int): Array[InternalRow]
    Definition Classes
    SparkPlan
  46. def executeToIterator(): Iterator[InternalRow]
    Definition Classes
    SparkPlan
  47. final def expressions: Seq[Expression]
    Definition Classes
    QueryPlan
  48. def fastEquals(other: TreeNode[_]): Boolean
    Definition Classes
    TreeNode
  49. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  50. def find(f: (SparkPlan) ⇒ Boolean): Option[SparkPlan]
    Definition Classes
    TreeNode
  51. def flatMap[A](f: (SparkPlan) ⇒ TraversableOnce[A]): Seq[A]
    Definition Classes
    TreeNode
  52. def foreach(f: (SparkPlan) ⇒ Unit): Unit
    Definition Classes
    TreeNode
  53. def foreachUp(f: (SparkPlan) ⇒ Unit): Unit
    Definition Classes
    TreeNode
  54. def formattedNodeName: String
    Attributes
    protected
    Definition Classes
    QueryPlan
  55. def generateTreeString(depth: Int, lastChildren: Seq[Boolean], append: (String) ⇒ Unit, verbose: Boolean, prefix: String, addSuffix: Boolean, maxFields: Int, printNodeId: Boolean, indent: Int): Unit
    Definition Classes
    TreeNode
  56. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  57. def getTagValue[T](tag: TreeNodeTag[T]): Option[T]
    Definition Classes
    TreeNode
  58. def getTaskMetrics: Option[GpuTaskMetrics]
    Definition Classes
    GpuExec
  59. def gpuExpressions: Seq[Expression]

    Return the expressions for this plan node that should be GPU expressions.

    Return the expressions for this plan node that should be GPU expressions. For most nodes this will be the same as the list of expressions, but some nodes use CPU expressions directly in some cases and will need to override this.

    Definition Classes
    GpuExec
  60. def gpuLongMetric(name: String): GpuMetric
    Definition Classes
    GpuExec
  61. def hashCode(): Int
    Definition Classes
    TreeNode → AnyRef → Any
  62. val hiveTableRelation: HiveTableRelation
  63. val id: Int
    Definition Classes
    SparkPlan
  64. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  65. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  66. def innerChildren: Seq[QueryPlan[_]]
    Definition Classes
    QueryPlan → TreeNode
  67. lazy val inputRDD: RDD[ColumnarBatch]
  68. def inputSet: AttributeSet
    Definition Classes
    QueryPlan
  69. def internalDoExecuteColumnar(): RDD[ColumnarBatch]
    Attributes
    protected
    Definition Classes
    GpuHiveTableScanExecGpuExec
  70. def isCanonicalizedPlan: Boolean
    Attributes
    protected
    Definition Classes
    QueryPlan
  71. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  72. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  73. def jsonFields: List[JField]
    Attributes
    protected
    Definition Classes
    TreeNode
  74. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  75. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  76. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  77. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  78. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  79. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  80. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  81. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  82. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  83. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  84. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  85. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  86. def logicalLink: Option[LogicalPlan]
    Definition Classes
    SparkPlan
  87. def longMetric(name: String): SQLMetric
    Definition Classes
    SparkPlan
  88. def makeCopy(newArgs: Array[AnyRef]): SparkPlan
    Definition Classes
    SparkPlan → TreeNode
  89. def map[A](f: (SparkPlan) ⇒ A): Seq[A]
    Definition Classes
    TreeNode
  90. def mapChildren(f: (SparkPlan) ⇒ SparkPlan): SparkPlan
    Definition Classes
    TreeNode
  91. def mapExpressions(f: (Expression) ⇒ Expression): GpuHiveTableScanExec.this.type
    Definition Classes
    QueryPlan
  92. def mapProductIterator[B](f: (Any) ⇒ B)(implicit arg0: ClassTag[B]): Array[B]
    Attributes
    protected
    Definition Classes
    TreeNode
  93. final lazy val metrics: Map[String, SQLMetric]
    Definition Classes
    GpuExec → SparkPlan
  94. final def missingInput: AttributeSet
    Definition Classes
    QueryPlan
  95. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  96. def nodeName: String
    Definition Classes
    TreeNode
  97. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  98. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  99. def numberedTreeString: String
    Definition Classes
    TreeNode
  100. val origin: Origin
    Definition Classes
    TreeNode
  101. def otherCopyArgs: Seq[AnyRef]
    Attributes
    protected
    Definition Classes
    TreeNode
  102. val output: Seq[Attribute]
    Definition Classes
    GpuHiveTableScanExec → QueryPlan
  103. val outputBatchesLevel: MetricsLevel
    Attributes
    protected
    Definition Classes
    GpuExec
  104. 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
  105. def outputOrdering: Seq[SortOrder]
    Definition Classes
    SparkPlan
  106. def outputPartitioning: Partitioning
    Definition Classes
    SparkPlan
  107. val outputRowsLevel: MetricsLevel
    Attributes
    protected
    Definition Classes
    GpuExec
  108. lazy val outputSet: AttributeSet
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  109. def p(number: Int): SparkPlan
    Definition Classes
    TreeNode
  110. val partitionAttributes: Seq[AttributeReference]
  111. val partitionPruningPredicate: Seq[Expression]
  112. final def prepare(): Unit
    Definition Classes
    SparkPlan
  113. def prepareSubqueries(): Unit
    Attributes
    protected
    Definition Classes
    SparkPlan
  114. def prettyJson: String
    Definition Classes
    TreeNode
  115. def printSchema(): Unit
    Definition Classes
    QueryPlan
  116. def producedAttributes: AttributeSet
    Definition Classes
    GpuHiveTableScanExec → LeafExecNode → QueryPlan
  117. lazy val prunedPartitions: Seq[hadoop.hive.ql.metadata.Partition]
    Annotations
    @transient()
  118. lazy val rawPartitions: Seq[hadoop.hive.ql.metadata.Partition]
    Annotations
    @transient()
  119. lazy val references: AttributeSet
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  120. val requestedAttributes: Seq[Attribute]
  121. def requiredChildDistribution: Seq[Distribution]
    Definition Classes
    SparkPlan
  122. def requiredChildOrdering: Seq[Seq[SortOrder]]
    Definition Classes
    SparkPlan
  123. def resetMetrics(): Unit
    Definition Classes
    SparkPlan
  124. final def sameResult(other: SparkPlan): Boolean
    Definition Classes
    QueryPlan
  125. lazy val schema: StructType
    Definition Classes
    QueryPlan
  126. def schemaString: String
    Definition Classes
    QueryPlan
  127. final def semanticHash(): Int
    Definition Classes
    QueryPlan
  128. def setLogicalLink(logicalPlan: LogicalPlan): Unit
    Definition Classes
    SparkPlan
  129. def setTagValue[T](tag: TreeNodeTag[T], value: T): Unit
    Definition Classes
    TreeNode
  130. def setTaskMetrics(gpuTaskMetrics: GpuTaskMetrics): Unit
    Definition Classes
    GpuExec
  131. def simpleString(maxFields: Int): String
    Definition Classes
    QueryPlan → TreeNode
  132. def simpleStringWithNodeId(): String
    Definition Classes
    QueryPlan → TreeNode
  133. def sparkContext: SparkContext
    Attributes
    protected
    Definition Classes
    SparkPlan
  134. def sparkSession: SparkSession
    Definition Classes
    GpuExec
  135. final val sqlContext: SQLContext
    Definition Classes
    SparkPlan
  136. def statePrefix: String
    Attributes
    protected
    Definition Classes
    QueryPlan
  137. def stringArgs: Iterator[Any]
    Attributes
    protected
    Definition Classes
    TreeNode
  138. def subqueries: Seq[SparkPlan]
    Definition Classes
    QueryPlan
  139. def subqueriesAll: Seq[SparkPlan]
    Definition Classes
    QueryPlan
  140. def supportsColumnar: Boolean
    Definition Classes
    GpuExec → SparkPlan
  141. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  142. def toJSON: String
    Definition Classes
    TreeNode
  143. def toString(): String
    Definition Classes
    TreeNode → AnyRef → Any
  144. def transform(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan
    Definition Classes
    TreeNode
  145. def transformAllExpressions(rule: PartialFunction[Expression, Expression]): GpuHiveTableScanExec.this.type
    Definition Classes
    QueryPlan
  146. def transformDown(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan
    Definition Classes
    TreeNode
  147. def transformExpressions(rule: PartialFunction[Expression, Expression]): GpuHiveTableScanExec.this.type
    Definition Classes
    QueryPlan
  148. def transformExpressionsDown(rule: PartialFunction[Expression, Expression]): GpuHiveTableScanExec.this.type
    Definition Classes
    QueryPlan
  149. def transformExpressionsUp(rule: PartialFunction[Expression, Expression]): GpuHiveTableScanExec.this.type
    Definition Classes
    QueryPlan
  150. def transformUp(rule: PartialFunction[SparkPlan, SparkPlan]): SparkPlan
    Definition Classes
    TreeNode
  151. def transformUpWithNewOutput(rule: PartialFunction[SparkPlan, (SparkPlan, Seq[(Attribute, Attribute)])], skipCond: (SparkPlan) ⇒ Boolean, canGetOutput: (SparkPlan) ⇒ Boolean): SparkPlan
    Definition Classes
    QueryPlan
  152. def treeString(append: (String) ⇒ Unit, verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): Unit
    Definition Classes
    TreeNode
  153. final def treeString(verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): String
    Definition Classes
    TreeNode
  154. final def treeString: String
    Definition Classes
    TreeNode
  155. def unsetTagValue[T](tag: TreeNodeTag[T]): Unit
    Definition Classes
    TreeNode
  156. def vectorTypes: Option[Seq[String]]
    Definition Classes
    SparkPlan
  157. def verboseString(maxFields: Int): String
    Definition Classes
    QueryPlan → TreeNode
  158. def verboseStringWithOperatorId(): String
    Definition Classes
    LeafExecNode → QueryPlan
  159. def verboseStringWithSuffix(maxFields: Int): String
    Definition Classes
    TreeNode
  160. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  161. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  162. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  163. def waitForSubqueries(): Unit
    Attributes
    protected
    Definition Classes
    SparkPlan
  164. def withNewChildren(newChildren: Seq[SparkPlan]): SparkPlan
    Definition Classes
    TreeNode

Inherited from CastSupport

Inherited from LeafExecNode

Inherited from ShimSparkPlan

Inherited from GpuExec

Inherited from SparkPlan

Inherited from Serializable

Inherited from Serializable

Inherited from Logging

Inherited from QueryPlan[SparkPlan]

Inherited from SQLConfHelper

Inherited from TreeNode[SparkPlan]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped