Skip to content

HiveTableScanExec Leaf Physical Operator

HiveTableScanExec is a leaf physical operator that represents a HiveTableRelation logical operator at execution time.

HiveTableScanExec is <> exclusively when[HiveTableScans] execution planning strategy plans a HiveTableRelation logical operator (i.e. is executed on a logical query plan with a HiveTableRelation logical operator).

[[nodeName]] HiveTableScanExec uses the[fully-qualified name of the Hive table] (of the <>) for the node name:

Scan hive [table]

Creating Instance

HiveTableScanExec takes the following when created:

HiveTableScanExec initializes the <>.

=== [[partition-pruning-predicates]] Partition Pruning Predicates

HiveTableScanExec physical operator supports partition pruning for <> that are[partitioned].

HiveTableScanExec requires that either the <> has no expressions or the <> is partitioned. Otherwise, HiveTableScanExec throws an IllegalArgumentException.[HiveTableScans] execution planning strategy creates a HiveTableScanExec physical operator for every[HiveTableRelation] operator in a query plan. When created, HiveTableScanExec is given the <> that are predicate expressions with no references and among the[partition columns] of the HiveTableRelation.

=== [[metrics]] Performance Metrics -- metrics Method

.HiveTableScanExec's Performance Metrics [cols="1m,2,2",options="header",width="100%"] |=== | Key | Name (in web UI) | Description

| numOutputRows | number of output rows | [[numOutputRows]] |===

=== [[doExecute]] Executing Physical Operator (Generating RDD[InternalRow]) -- doExecute Method

[source, scala]

doExecute(): RDD[InternalRow]

doExecute is part of the SparkPlan abstraction.


=== [[internal-properties]] Internal Properties

[cols="30m,70",options="header",width="100%"] |=== | Name | Description

| boundPruningPred a| [[boundPruningPred]] Catalyst ../expressions/[expression] for the <> bound to (the[partitionCols] of) the <>

| hiveQlTable a| [[hiveQlTable]] Hive {url-hive-javadoc}/org/apache/hadoop/hive/ql/metadata/Table.html[Table] metadata ([converted] from the[CatalogTable] of the <>)

Used when HiveTableScanExec is requested for the <>, <> and is <>

| hadoopReader a| [[hadoopReader]][HadoopTableReader]

| rawPartitions a| [[rawPartitions]][Hive partitions] (Seq[Partition])

Used when HiveTableScanExec physical operator is <> with a partitioned table

| tableDesc a| [[tableDesc]] Hive {url-hive-javadoc}/org/apache/hive/hcatalog/templeton/TableDesc.html[TableDesc]


Last update: 2020-10-21