Skip to content

[FEA] Support OneRowRelationExec introduced in Spark 4.1.x (SPARK-52060) #14150

@res-life

Description

@res-life

Description

Spark 4.1.0 introduced a new OneRowRelationExec physical plan node via SPARK-52060 (commit f423885f65d).

Changes in Spark 4.1.x

  1. New OneRowRelationExec class - A dedicated physical plan node for single-row relations (e.g., SELECT 1, SELECT version())

  2. Replaces RDDScanExec - Previously, one-row relations used RDDScanExec with a hard-coded "OneRowRelation" string

  3. User-facing change - The plan now shows OneRowRelationExec rather than RDDScanExec

Implementation

Added GpuOneRowRelationExec in spark-rapids that:

  • Produces a single ColumnarBatch with 1 row and 0 columns
  • Uses no GPU memory since there are no actual data columns
  • Overrides makeCopy and doCanonicalize to handle Spark's TreeNode reflection

Status

Completed - GPU support for OneRowRelationExec has been implemented in the spark411 shim.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions