Description
ZetaSqlBeamTranslationUtils creates joda.time.Instant instances for DATETIME fields. While RowJson explicitly casts to DateTime when deserializing. This causes a ClassCastException for certain Beam SQL TableProviders (specifically any that use JsonPayloadSerializerProvider).
Caused by: java.lang.ClassCastException: org.joda.time.Instant cannot be cast to org.joda.time.DateTime
at org.apache.beam.sdk.util.RowJson$RowJsonSerializer.writeValue(RowJson.java:530)
at org.apache.beam.sdk.util.RowJson$RowJsonSerializer.writeRow(RowJson.java:495)
at org.apache.beam.sdk.util.RowJson$RowJsonSerializer.serialize(RowJson.java:478)
at org.apache.beam.sdk.util.RowJson$RowJsonSerializer.serialize(RowJson.java:453)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
... 37 more
Attachments
Issue Links
- links to