Hi team, I am trying to read a parquet file on HD...
# troubleshooting
z
Hi team, I am trying to read a parquet file on HDFS. But I got the following error
*org.apache.parquet.format.PageHeader: Required field 'uncompressed_page_size' was not found in serialized data*
. ## Run environment: Hadoop 2.9.1 Flink Operator: 1.16.1 Flink version: 1.16 ## Investigation I searched the error https://github.com/trinodb/trino/issues/2256, but it did not help. ## Full stack: 51120139836 at 10485760; previously tried [DatanodeInfoWithStorage[/BN2/10/308/09/[260310b0515206a00645be620]10010,DS-07f646f6-dcbf-4b98-8580-1adc1911da0b,DISK]]. 2023-05-03 032615,221 INFO org.apache.hadoop.hdfs.DFSClient [] - Spawning 1 hedged read to DatanodeInfoWithStorage[/BN2/10/307/08/[260310b0515205900645bedcd]10010,DS-59d240da-da8d-47a0-a61b-cb12af056f81,DISK] for BP-1520273214-10.27.194.109-1568248216274:blk_52162250811_51120139836 at 61865984; previously tried [DatanodeInfoWithStorage[/BN2/10/308/09/[260310b0515206a00645be620]10010,DS-07f646f6-dcbf-4b98-8580-1adc1911da0b,DISK], DatanodeInfoWithStorage[/BN2/10/306/14/[260310b0515204f00645beb6e]10010,DS-1c533525-e37e-4671-88e5-ca79ad3f28a3,DISK]]. 2023-05-03 032615,223 ERROR org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager [] - Received uncaught exception. java.lang.RuntimeException: SplitFetcher thread 0 received unexpected exception while polling the records at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:150) ~[flink-connector-files-1.16.0.jar:1.16.0] at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105) [flink-connector-files-1.16.0.jar:1.16.0] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?] at java.util.concurrent.FutureTask.run(Unknown Source) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?] at java.lang.Thread.run(Unknown Source) [?:?] Caused by: java.io.IOException: can not read class org.apache.parquet.format.PageHeader: Required field 'uncompressed_page_size' was not found in serialized data! Struct: org.apache.parquet.format.PageHeader$PageHeaderStandardScheme@112523e7 at org.apache.parquet.format.Util.read(Util.java:365) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.format.Util.readPageHeader(Util.java:132) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader$Chunk.readPageHeader(ParquetFileReader.java:1382) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader$Chunk.readAllPages(ParquetFileReader.java:1429) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader$Chunk.readAllPages(ParquetFileReader.java:1402) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader.readChunkPages(ParquetFileReader.java:1023) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader.readNextRowGroup(ParquetFileReader.java:928) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.flink.formats.parquet.ParquetVectorizedInputFormat$ParquetReader.readNextRowGroup(ParquetVectorizedInputFormat.java:396) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.flink.formats.parquet.ParquetVectorizedInputFormat$ParquetReader.nextBatch(ParquetVectorizedInputFormat.java:378) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.flink.formats.parquet.ParquetVectorizedInputFormat$ParquetReader.readBatch(ParquetVectorizedInputFormat.java:355) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.flink.connector.file.src.impl.FileSourceSplitReader.fetch(FileSourceSplitReader.java:67) ~[flink-connector-files-1.16.0.jar:1.16.0] at org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58) ~[flink-connector-files-1.16.0.jar:1.16.0] at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:142) ~[flink-connector-files-1.16.0.jar:1.16.0] ... 6 more Caused by: shaded.parquet.org.apache.thrift.protocol.TProtocolException: Required field 'uncompressed_page_size' was not found in serialized data! Struct: org.apache.parquet.format.PageHeader$PageHeaderStandardScheme@112523e7 at org.apache.parquet.format.PageHeader$PageHeaderStandardScheme.read(PageHeader.java:1108) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.format.PageHeader$PageHeaderStandardScheme.read(PageHeader.java:1019) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.format.PageHeader.read(PageHeader.java:896) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.format.Util.read(Util.java:362) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.format.Util.readPageHeader(Util.java:132) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader$Chunk.readPageHeader(ParquetFileReader.java:1382) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader$Chunk.readAllPages(ParquetFileReader.java:1429) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader$Chunk.readAllPages(ParquetFileReader.java:1402) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader.readChunkPages(ParquetFileReader.java:1023) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.parquet.hadoop.ParquetFileReader.readNextRowGroup(ParquetFileReader.java:928) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.flink.formats.parquet.ParquetVectorizedInputFormat$ParquetReader.readNextRowGroup(ParquetVectorizedInputFormat.java:396) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.flink.formats.parquet.ParquetVectorizedInputFormat$ParquetReader.nextBatch(ParquetVectorizedInputFormat.java:378) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.flink.formats.parquet.ParquetVectorizedInputFormat$ParquetReader.readBatch(ParquetVectorizedInputFormat.java:355) ~[blob_p-876fb9c1decabe8fc7463988e0d4e13b165e8c61-1aceb131dcac9755d058c2b83d5cfd1a:?] at org.apache.flink.connector.file.src.impl.FileSourceSplitReader.fetch(FileSourceSplitReader.java:67) ~[flink-connector-files-1.16.0.jar:1.16.0] at org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58) ~[flink-connector-files-1.16.0.jar:1.16.0] at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:142) ~[flink-connector-files-1.16.0.jar:1.16.0] ... 6 more 2023-05-03 032615,225 DEBUG org.apache.flink.streaming.runtime.tasks.StreamTask [] - Cleanup StreamTask (operators closed: false, cancelled: false)
2023-05-03 032618,243 DEBUG org.apache.parquet.hadoop.ParquetFileReader [] - Finished to read all footer bytes. 2023-05-03 032618,243 DEBUG org.apache.parquet.format.converter.ParquetMetadataConverter [] - FileMetaData(version:1, schema:[SchemaElement(name:Microsoft.BI.CFR.Spark.Schema.SiphonLog, num_children:1), SchemaElement(type:BYTE_ARRAY, repetition_type:OPTIONAL, name:payload, field_id:1)], num_rows:49194, row_groups:[RowGroup(columns:[ColumnChunk(file_offset:4, meta_data:ColumnMetaData(type:BYTE_ARRAY, encodings:[BIT_PACKED, RLE, PLAIN], path_in_schema:[payload], codec:LZ4, num_values:49194, total_uncompressed_size:164418362, total_compressed_size:62865696, data_page_offset:4, statistics:Statistics(), encoding_stats:[PageEncodingStats(page_type:DATA_PAGE, encoding:PLAIN, count:139)]), offset_index_offset:62865700, offset_index_length:1921)], total_byte_size:164418362, num_rows:49194, file_offset:4, total_compressed_size:62865696, ordinal:0)], key_value_metadata:[KeyValue(key:parquet.proto.descriptor, valuename "SiphonLog" field { name: "payload" number: 1 label: LABEL_OPTIONAL type: TYPE_BYTES } ), KeyValue(key:parquet.proto.writeSpecsCompliant, value:false), KeyValue(key:writer.model.name, value:protobuf), KeyValue(key:parquet.proto.class, value:Microsoft.BI.CFR.Spark.Schema.SiphonLogOuterClass$SiphonLog)], created_by:parquet-mr version 1.12.3 (build f8dced182c4c1fbdec6ccb3185537b5a01e6ed6b), column_orders:[<ColumnOrder TYPE_ORDER:TypeDefinedOrder()>]) 2023-05-03 032618,245 DEBUG org.apache.parquet.format.converter.ParquetMetadataConverter [] - { "fileMetaData" : { "schema" : { "name" : "Microsoft.BI.CFR.Spark.Schema.SiphonLog", "repetition" : "REPEATED", "logicalTypeAnnotation" : null, "id" : null, "fields" : [ { "name" : "payload", "repetition" : "OPTIONAL", "logicalTypeAnnotation" : null, "id" : { "id" : 1 }, "primitive" : true, "typeLength" : 0, "decimalMetadata" : null, "primitiveTypeName" : "BINARY", "originalType" : null } ], "columns" : [ { "path" : [ "payload" ], "type" : "BINARY", "primitiveType" : { "name" : "payload", "repetition" : "OPTIONAL", "logicalTypeAnnotation" : null, "id" : { "id" : 1 }, "primitive" : true, "typeLength" : 0, "decimalMetadata" : null, "primitiveTypeName" : "BINARY", "originalType" : null }, "typeLength" : 0, "maxDefinitionLevel" : 1, "maxRepetitionLevel" : 0 } ], "paths" : [ [ "payload" ] ], "primitive" : false, "fieldCount" : 1, "originalType" : null }, "keyValueMetaData" : { "parquet.proto.descriptor" : "name: \"SiphonLog\"\nfield {\n name: \"payload\"\n number: 1\n label: LABEL_OPTIONAL\n type: TYPE_BYTES\n}\n", "parquet.proto.class" : "Microsoft.BI.CFR.Spark.Schema.SiphonLogOuterClass$SiphonLog", "parquet.proto.writeSpecsCompliant" : "false", "writer.model.name" : "protobuf" }, "createdBy" : "parquet-mr version 1.12.3 (build f8dced182c4c1fbdec6ccb3185537b5a01e6ed6b)", "fileDecryptor" : null }, "blocks" : [ { "columns" : [ { "rowGroupOrdinal" : 0, "encodingStats" : { "dictionaryEncodings" : [ ], "dataEncodings" : [ "PLAIN" ] }, "columnIndexReference" : null, "offsetIndexReference" : { "offset" : 62865700, "length" : 1921 }, "bloomFilterOffset" : -1, "dictionaryPageOffset" : 0, "valueCount" : 49194, "totalSize" : 62865696, "totalUncompressedSize" : 164418362, "statistics" : { "max" : null, "min" : null, "minBytes" : null, "maxBytes" : null, "empty" : true, "numNulls" : -1, "numNullsSet" : false }, "firstDataPageOffset" : 4, "type" : "BINARY", "path" : [ "payload" ], "startingPos" : 4, "primitiveType" : { "name" : "payload", "repetition" : "OPTIONAL", "logicalTypeAnnotation" : null, "id" : { "id" : 1 }, "primitive" : true, "typeLength" : 0, "decimalMetadata" : null, "primitiveTypeName" : "BINARY", "originalType" : null }, "codec" : "LZ4", "encodings" : [ "RLE", "PLAIN", "BIT_PACKED" ] } ], "rowCount" : 49194, "totalByteSize" : 164418362, "path" : null, "ordinal" : 0, "compressedSize" : 62865696, "startingPos" : 4 } ] } 2023-05-03 032618,246 INFO org.apache.hadoop.hdfs.DFSClient [] - [DFSInputStream for file /user/zhiyutian/flink-exmples/ads/part-0.parquet]: BP-1520273214-10.27.194.109-1568248216274:blk_52162250811_51120139836 READ 188599096B: [Pure IO Perf 833ms 215.9MB/s] [User E2E Perf 4939ms 36.4MB/s] [PERCENTILE,EXPONENTIAL] [From DN DatanodeInfoWithStorage[/BN2/10/308/09/[260310b0515206a00645be620]10010,DS-07f646f6-dcbf-4b98-8580-1adc1911da0b,DISK]] 2023-05-03 032618,253 DEBUG org.apache.parquet.crypto.DecryptionPropertiesFactory [] - DecryptionPropertiesFactory is not configured - name not found in hadoop config