Hi Gyula, can you please check which Avro version you are using?
Avro only supports Java 8 time (java.time.LocalDateTime) after 1.9.2. Before that everything was hardcoded to joda time. However, I'm not entirely sure where the Java 8 time is coming in your example, as I'm not familiar with the type system of Table API. Best, Arvid On Wed, Apr 29, 2020 at 3:48 PM Gyula Fóra <gyula.f...@gmail.com> wrote: > Hi All! > > We are trying to work with avro serialized data from Kafka using the Table > API and use TIMESTAMP column type. > > According to the docs > <https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/connect.html#apache-avro-format>, > we can use long type with logicalType: timestamp-millis. > So we use the following avro field schema in the descriptor: > > > {"name": "timestamp_field", "type": {"type":"long", "logicalType": > "timestamp-millis"}} > > When trying to insert into the table we get the following error: > > Caused by: java.lang.ClassCastException: class java.time.LocalDateTime cannot > be cast to class java.lang.Long (java.time.LocalDateTime and java.lang.Long > are in module java.base of loader 'bootstrap') > at > org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion(GenericDatumWriter.java:131) > at > org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:72) > > It seems like the avro format (serializer) is not aware of the logical type > conversion that is needed to convert back to the physical type long. > > I looked at the AvroTypesITCase which uses all kinds of logical types but I > could only find logic that maps between Avro Pojos and tables and none that > actually uses the serializaiton/deserialization logic with the format. > > Could someone please help me with this? Maybe what I am trying to do is not > possible, or I just missed a crucial step. > > Thank you! > Gyula > > > > -- Arvid Heise | Senior Java Developer <https://www.ververica.com/> Follow us @VervericaData -- Join Flink Forward <https://flink-forward.org/> - The Apache Flink Conference Stream Processing | Event Driven | Real Time -- Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany -- Ververica GmbH Registered at Amtsgericht Charlottenburg: HRB 158244 B Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji (Toni) Cheng