[ https://issues.apache.org/jira/browse/FLINK-33759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17849837#comment-17849837 ]
Jing Ge commented on FLINK-33759: --------------------------------- master: https://github.com/apache/flink/commit/57b20051a5aa6426d0a6ded71f5e0d550572428c > flink parquet writer support write nested array or map type > ----------------------------------------------------------- > > Key: FLINK-33759 > URL: https://issues.apache.org/jira/browse/FLINK-33759 > Project: Flink > Issue Type: Improvement > Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile) > Reporter: Cai Liuyang > Priority: Major > Labels: pull-request-available > > When we use flink-parquet format wirte Map<String, String>[] type (which will > be read by spark job), we encounter an exception: > {code:java} > // code placeholder > Caused by: org.apache.parquet.io.ParquetEncodingException: empty fields are > illegal, the field should be ommited completely instead > at > org.apache.parquet.io.MessageColumnIO$MessageColumnIORecordConsumer.endField(MessageColumnIO.java:329) > at > org.apache.flink.formats.parquet.row.ParquetRowDataWriter$ArrayWriter.writeArrayData(ParquetRowDataWriter.java:438) > at > org.apache.flink.formats.parquet.row.ParquetRowDataWriter$ArrayWriter.write(ParquetRowDataWriter.java:419) > at > org.apache.flink.formats.parquet.row.ParquetRowDataWriter$RowWriter.write(ParquetRowDataWriter.java:471) > at > org.apache.flink.formats.parquet.row.ParquetRowDataWriter.write(ParquetRowDataWriter.java:81) > at > org.apache.flink.formats.parquet.row.ParquetRowDataBuilder$ParquetWriteSupport.write(ParquetRowDataBuilder.java:89){code} > after review the code, we found flink-parquet doesn't support write nested > array or map, because > [[ArrayWriter|https://github.com/apache/flink/blob/master/flink-formats/flink-parquet/src/main/java/org/apache/flink/formats/parquet/row/ParquetRowDataWriter.java#L437]|#L437] > and > [MapWriter|https://github.com/apache/flink/blob/master/flink-formats/flink-parquet/src/main/java/org/apache/flink/formats/parquet/row/ParquetRowDataWriter.java#L391] > doesn't impl `public void write(ArrayData arrayData, int ordinal) {}` > function. -- This message was sent by Atlassian Jira (v8.20.10#820010)