Max Gekk created SPARK-57459:
--------------------------------
Summary: Support nanosecond-precision timestamp types in the Avro
datasource (v1 and v2)
Key: SPARK-57459
URL: https://issues.apache.org/jira/browse/SPARK-57459
Project: Spark
Issue Type: Sub-task
Components: SQL
Affects Versions: 5.0.0
Reporter: Max Gekk
Umbrella: SPARK-56822 (Timestamps with nanosecond precision).
Add read and write support for the nanosecond-capable timestamp types
TIMESTAMP_NTZ(p) and TIMESTAMP_LTZ(p) (p in 7-9) so this datasource reaches
parity with the microsecond TimestampType / TimestampNTZType. Remove the
SPARK-57166 rejection guardrail (supportDataType / supportsDataType) once read
and write are implemented and tested, and update FileBasedDataSourceSuite
accordingly. Cover precisions 7-9 for both NTZ and LTZ.
Scope:
- Schema: add timestamp-nanos / local-timestamp-nanos logical types both
directions in SchemaConverters (Avro stores nanoseconds-since-epoch in a long).
If the bundled Avro version lacks nanos LogicalTypes, encode via a custom
logical-type name.
- Read: AvroDeserializer using an epoch-nanos <-> TimestampNanosVal helper
(floorDiv/floorMod).
- Write: AvroSerializer.
- Guardrails: AvroUtils.supportsDataType (v1 AvroFileFormat), v2 AvroTable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]