Github user mallman commented on a diff in the pull request: https://github.com/apache/spark/pull/16578#discussion_r140358379 --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetReadSupport.scala --- @@ -63,9 +74,22 @@ private[parquet] class ParquetReadSupport extends ReadSupport[UnsafeRow] with Lo StructType.fromString(schemaString) } - val parquetRequestedSchema = + val clippedParquetSchema = ParquetReadSupport.clipParquetSchema(context.getFileSchema, catalystRequestedSchema) + val parquetRequestedSchema = if (parquetMrCompatibility) { + // Parquet-mr will throw an exception if we try to read a superset of the file's schema. + // Therefore, we intersect our clipped schema with the underlying file's schema --- End diff -- I had to go back in time to figure this one out. I wrote this code for parquet-mr 1.7.0, and indeed this code is necessary for that version of the library as validated by a test in `ParquetSchemaPruningSuite`. However, parquet-mr version 1.8.2 no longer has this limitation/bug. Therefore, I will remove the `parquetMrCompatibility`-related logic from this file.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org