[ 
https://issues.apache.org/jira/browse/FLINK-17091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17105234#comment-17105234
 ] 

Jingsong Lee commented on FLINK-17091:
--------------------------------------

Thanks [~dwysakowicz] and [~Paul Lin] for your discussion.

[~Paul Lin] 's explanation sounds good to me. Parquet also support long-based 
timestamps. And we should convert this long to LocalDateTime/TimestampData in 
avro schema before return to planner.

[~libenchao] is doing new FLIP-95 Avro schema based on RowData(set 
TimestampData for timestamp type) (FLINK-17630), FYI.

> AvroRow(De)SerializationSchema doesn't support new Timestamp conversion 
> classes
> -------------------------------------------------------------------------------
>
>                 Key: FLINK-17091
>                 URL: https://issues.apache.org/jira/browse/FLINK-17091
>             Project: Flink
>          Issue Type: Bug
>          Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile)
>    Affects Versions: 1.10.0
>            Reporter: Paul Lin
>            Priority: Major
>
> AvroRow(De)SerializationSchema doesn't know how to convert the new physical 
> classes of Timestamp (eg. java.time.Date) to/from Avro's int/long based 
> timestamp. Currently, when encountering objects of the new physical classes, 
> AvroRow(De)SerializationSchema just ignores them and passes them to Avro's 
> GenericDatumWriter/Reader, which leads to ClassCastException thrown by 
> GenericDatumWriter/Reader. See 
> [AvroRowSerializationSchema|https://github.com/apache/flink/blob/master/flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/AvroRowSerializationSchema.java#L251].
> To fix this problem, we should support LocalTime/LocalDate/LocalDateTime 
> conversion to int/long in AvroRowSerializationSchema, and support int/long 
> conversion to LocalTime/LocalDate/LocalDateTime based on logical 
> types(Types.LOCAL_TIME/Types.LOCAL_DATE/Types.LOCAL_DATE_TIME) in 
> AvroRowDeserializationSchema.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to