[ https://issues.apache.org/jira/browse/FLINK-19629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
shizhengchao updated FLINK-19629: --------------------------------- Comment: was deleted (was: Avro union(something, null) spelled incorrectly, should be Avro unions(something, null), not union. and i think, an example nullable types should be provided. So the complete documentation should be like this: In addition to the types listed above, Flink supports reading/writing nullable types, e.g "behavior STRING NULL" . Flink maps nullable types to Avro unions(something, null), where something is the Avro type converted from Flink type.) > Avro format cause NullPointException,as null value in MAP type's value type > ---------------------------------------------------------------------------- > > Key: FLINK-19629 > URL: https://issues.apache.org/jira/browse/FLINK-19629 > Project: Flink > Issue Type: Bug > Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile) > Affects Versions: 1.11.2 > Reporter: shizhengchao > Assignee: shizhengchao > Priority: Critical > Fix For: 1.12.0 > > > create table tableA ( > name STRING, > hobly MAP<STRING, STRING>, > phone STRING > ) with ( > 'connector' = 'kafka-0.11', > 'topic' = 'ShizcTest', > 'properties.bootstrap.servers' = 'localhost:9092', > 'properties.group.id' = 'ShizcTest', > 'scan.startup.mode' = 'earliest-offset', > 'format' = 'avro' > ); > if hobly have an null value like this: > {"name": "shizc", "hobly": {"key1":null}, "phone": "1104564"} > cause an NullPointException: > {code:java} > java.io.IOException: Failed to deserialize Avro record. > at > org.apache.flink.formats.avro.AvroRowDataDeserializationSchema.deserialize(AvroRowDataDeserializationSchema.java:150) > at > org.apache.flink.formats.avro.AvroRowDataDeserializationSchema.deserialize(AvroRowDataDeserializationSchema.java:75) > at > org.apache.flink.api.common.serialization.DeserializationSchema.deserialize(DeserializationSchema.java:81) > at > org.apache.flink.streaming.connectors.kafka.internals.KafkaDeserializationSchemaWrapper.deserialize(KafkaDeserializationSchemaWrapper.java:56) > at > org.apache.flink.streaming.connectors.kafka.internal.Kafka010Fetcher.runFetchLoop(Kafka010Fetcher.java:147) > at > org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.run(FlinkKafkaConsumerBase.java:755) > at > org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:100) > at > org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:63) > at > org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:201) > Caused by: java.lang.NullPointerException: null > at > org.apache.flink.formats.avro.AvroRowDataDeserializationSchema.lambda$createConverter$57e941b$5(AvroRowDataDeserializationSchema.java:252) > at > org.apache.flink.formats.avro.AvroRowDataDeserializationSchema.lambda$createMapConverter$7941d275$1(AvroRowDataDeserializationSchema.java:315) > at > org.apache.flink.formats.avro.AvroRowDataDeserializationSchema.lambda$createNullableConverter$c3bac5d8$1(AvroRowDataDeserializationSchema.java:221) > at > org.apache.flink.formats.avro.AvroRowDataDeserializationSchema.lambda$createRowConverter$80d8b6bd$1(AvroRowDataDeserializationSchema.java:206) > at > org.apache.flink.formats.avro.AvroRowDataDeserializationSchema.deserialize(AvroRowDataDeserializationSchema.java:148) > ... 8 common frames omitted > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)