Cómo reparar 'Versión principal del archivo de clase no compatible 55' mientras se ejecuta 'org.apache.spark.sql.DataSet.collectAsList ()'

Estoy creando una aplicación Java RESTAPI Spring Boot que utiliza spark para obtener algunos datos del servidor. Cuando intento convertir del conjunto de datos a la lista, falla.

Intenté jdk8 y jdk11 para compilar y ejecutar el código, pero obtengo el mismo 'java.lang.IllegalArgumentException: archivo de clase no compatible versión 55', en el pasado, resolví este problema actualizando la versión de Java, pero es No estoy trabajando para esto.

Estoy usando:

  • JDK 11.0.2

  • Spring Boot 2.1.4

  • Spark 2.4.2

Este es el código que estoy ejecutando:

Dataset<Row> dataFrame = sparkSession.read().json("/home/data/*.json");
        dataFrame.createOrReplaceTempView("events");
        Dataset<Row> resultDataFrame = sparkSession.sql("SELECT * FROM events WHERE " + predicate); 
        Dataset<Event> eventDataSet = resultDataFrame.as(Encoders.bean(Event.class));
        return eventDataSet.collectAsList();

La consulta funciona, en realidad durante la depuración puede ver información tanto en resultDataFrame como en eventDataSet.

Espero que la salida sea una lista adecuada de Eventos, pero obtengo la excepción:

[http-nio-8080-exec-2] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 55] with root cause
java.lang.IllegalArgumentException: Unsupported class file major version 55
    at org.apache.xbean.asm6.ClassReader.<init>(ClassReader.java:166)
    at org.apache.xbean.asm6.ClassReader.<init>(ClassReader.java:148)
    at org.apache.xbean.asm6.ClassReader.<init>(ClassReader.java:136)
    at org.apache.xbean.asm6.ClassReader.<init>(ClassReader.java:237)
    at org.apache.spark.util.ClosureCleaner$.getClassReader(ClosureCleaner.scala:49)
    at org.apache.spark.util.FieldAccessFinder$$anon$3$$anonfun$visitMethodInsn$2.apply(ClosureCleaner.scala:517)
    at org.apache.spark.util.FieldAccessFinder$$anon$3$$anonfun$visitMethodInsn$2.apply(ClosureCleaner.scala:500)
    at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
    at scala.collection.mutable.HashMap$$anon$1$$anonfun$foreach$2.apply(HashMap.scala:134)
    at scala.collection.mutable.HashMap$$anon$1$$anonfun$foreach$2.apply(HashMap.scala:134)
    at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:236)
    at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)
    at scala.collection.mutable.HashMap$$anon$1.foreach(HashMap.scala:134)
    at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
    at org.apache.spark.util.FieldAccessFinder$$anon$3.visitMethodInsn(ClosureCleaner.scala:500)
.....

ACTUALIZACIÓN POR COMENTARIOS: Para Java 8, cambio pom para apuntar a java 8:

<java.version>1.8</java.version>

Y luego actualice el proyecto, maven clean, maven install y luego ejecútelo. Obteniendo el mismo error de la versión 55

Respuesta 1

Estoy desarrollando un software en la universidad y mi compañero y yo estamos dividiendo el trabajo y él me envía el código en bruto y lo confirmo, pero quiero confirmar su código en mi NetBeans 11.0 en su nombre pero ...

Estoy tratando de acceder a jTextArea dentro de main (), pero recibí un error que indica que "No se puede acceder a los miembros no estáticos en un contexto estático". Por lo tanto, accedí de la siguiente manera: (usando netbeans) public ...

Tengo una clase Nodo <T> (interior) en la clase Graph <T>: clase pública Graph <T> {private ArrayList <Node <T>> vértices; addVertex booleano público (Nodo <T> n) {...

Quiero poder crear una utilidad de línea de comandos escrita en Scala usando Maven. Idealmente, quiero poder escribir un método principal y tener algún objetivo de Maven que instale un ejecutable con un ...