Skip to content

Implement TimeType support: Infrastructure - shuffle #4396

@YutaLin

Description

@YutaLin

What is the problem the feature request solves?

This is #4288 sub-issue
These are the core infrastructure pieces that make TimeType columns usable in
real-world queries. Without them, any query that shuffles, sorts, or aggregates
a time column falls back to Spark.

Since TimeType is physically a fixed-width i64 (same as LongType/TimestampType),
all of these should be straightforward additions to existing type lists.

Describe the potential solution

1a. Shuffle (native)
File: spark/.../CometShuffleExchangeExec.scala:367-380

supportedSerializableDataType does not include TimeType. Add it alongside
the existing TimestampType | TimestampNTZType case.

Also need to check the Rust shuffle path:

native/shuffle/src/spark_unsafe/row.rs - needs Time64 handling

1b. Shuffle (JVM columnar)
File: spark/.../CometShuffleExchangeExec.scala:490-506

Same supportedSerializableDataType function (different scope). Add TimeType.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions