On Mon, 13 Jun 2022 at 08:52, Pralabh Kumar <pralabhku...@gmail.com> wrote:
> Hi Dev team > > I have a spark32 image with Java 11 (Running Spark on K8s) . While > reading a huge parquet file via spark.read.parquet("") . I am getting > the following error . The same error is mentioned in Spark docs > https://spark.apache.org/docs/latest/#downloading but w.r.t to apache > arrow. > > > - IMHO , I think the error is coming from Parquet 1.12.1 which is > based on Hadoop 2.10 which is not java 11 compatible. > > correct. see https://issues.apache.org/jira/browse/HADOOP-12760 Please let me know if this understanding is correct and is there a way to > fix it. > upgrade to a version of hadoop with the fix. That's any version >= hadoop 3.2.0 which shipped since 2018 > > > java.lang.NoSuchMethodError: 'sun.misc.Cleaner > sun.nio.ch.DirectBuffer.cleaner()' > > at > org.apache.hadoop.crypto.CryptoStreamUtils.freeDB(CryptoStreamUtils.java:41) > > at > org.apache.hadoop.crypto.CryptoInputStream.freeBuffers(CryptoInputStream.java:687) > > at > org.apache.hadoop.crypto.CryptoInputStream.close(CryptoInputStream.java:320) > > at java.base/java.io.FilterInputStream.close(Unknown Source) > > at > org.apache.parquet.hadoop.util.H2SeekableInputStream.close(H2SeekableInputStream.java:50) > > at > org.apache.parquet.hadoop.ParquetFileReader.close(ParquetFileReader.java:1299) > > at > org.apache.spark.sql.execution.datasources.parquet.ParquetFooterReader.readFooter(ParquetFooterReader.java:54) > > at > org.apache.spark.sql.execution.datasources.parquet.ParquetFooterReader.readFooter(ParquetFooterReader.java:44) > > at > org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat$.$anonfun$readParquetFootersInParallel$1(ParquetFileFormat.scala:467) > > at > org.apache.spark.util.ThreadUtils$.$anonfun$parmap$2(ThreadUtils.scala:372) > > at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:659) > > at scala.util.Success.$anonfun$map$1(Try.scala:255) > > at scala.util.Success.map(Try.scala:213) > > at scala.concurrent.Future.$anonfun$map$1(Future.scala:292) > > at > scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33) > > at > scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:33) > > at > scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64) > > at > java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown > Source) > > at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown > Source) > > at > java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown > Source) > > at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown > Source) > > at > java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) > > at > java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) >