Spark Submit échoue avec java.lang.NoSuchMethodError: scala.Predef $. $ Conforme () Lscala / Predef $$ less $ colon $ less;
Je suis en utilisant étincelle 1.3.1 paquetage version spark-1.3.1-bin-hadoop2.6.tgz
Exception in thread "main" java.lang.NoSuchMethodError:
scala.Predef$.$conforme()Lscala/Predef$$moins$côlon$de moins; à
org.apache.spark.util.Utils$.getSystemProperties(Utils.scala:1418) à
org.apache.spark.SparkConf.(SparkConf.scala:58)
org.apache.spark.SparkConf.(SparkConf.scala:52)
com.zoho.zbi.Les tests.test(Test de dépistage.java:43)
com.zoho.zbi.Les tests.main(Test.java:39) à l'Aide de la Spark log4j par défaut
profil: org/apache/spark/log4j-valeurs par défaut.propriétés
Je suis en train d'essayer une simple démo app pour enregistrer à cassandra
SparkConf batchConf= new SparkConf()
.setSparkHome(sparkHome)
.setJars(jars)
.setAppName(ZohoBIConstants.getAppName("cassandra"))//NO I18N
.setMaster(master).set("spark.cassandra.connection.host", "localhost");
JavaSparkContext sc = new JavaSparkContext(batchConf);
//here we are going to save some data to Cassandra...
List<Person> people = Arrays.asList(
Person.newInstance(1, "John", new Date()),
Person.newInstance(2, "Anna", new Date()),
Person.newInstance(3, "Andrew", new Date())
);
// Person test = Person.newInstance(1, "vini", new Date())''
System.out.println("Inside Java API Demo : "+people);
JavaRDD<Person> rdd = sc.parallelize(people);
System.out.println("Inside Java API Demo rdd : "+rdd);
javaFunctions(rdd).writerBuilder("test", "people", mapToRow(Person.class)).saveToCassandra();
System.out.println("Stopping sc");
sc.stop();
lorsque je soumets à l'aide de l'étincelle de présenter son travail
bin/spark-submit --class "abc.efg.Testing" --master spark://xyz:7077 /home/test/target/uber-Cassandra-0.0.1-SNAPSHOT.jar
Voici mon pom
dépendances
<dependencies>
<!-- Scala -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
<version>${scala.version}</version>
</dependency>
<!-- END Scala -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
<dependency>
<groupId>com.yammer.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
<!-- Cassandra Spark Connector dependency -->
<dependency>
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector_2.10</artifactId>
<version>1.2.0</version>
</dependency>
<!-- Cassandra java Connector dependency -->
<dependency>
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector-java_2.10</artifactId>
<version>1.2.0</version>
</dependency>
<!-- Spark Core dependency -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>1.3.1</version>
</dependency>
<!-- Spark dependency -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.11</artifactId>
<version>1.3.1</version>
</dependency>
<!-- Spark dependency -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka_2.10</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
et je de construire à l'aide de
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<finalName>uber-${project.artifactId}-${project.version}</finalName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
mais quand je soumettre par le biais de code sa ne marche pas, toute aide est très appriciated.. j'ai essayé ajouté scala2.10.4 prop dans le pom toujours pas de chance
Je suis en cours d'exécution dans eclipse que l'exécution de l'application avec tous les maîtres de l'étincelle à la maison et les pots mis à sparkConf l'erreur montre exactement dans sparkConf
Mon scala version est
scala -version
Scala code runner version 2.11.2 -- Copyright 2002-2013, LAMPE/EPFL
est cela n'a rien à voir avec la question?
Comment swtich pour une ancienne version de scala? Dans la doc il est dit spark1.3.1 prend en charge scala 2.10.versions x, s'il vous plaît laissez-moi savoir comment résoudre ce
source d'informationauteur mithra
Vous devez vous connecter pour publier un commentaire.
Le problème que vous rencontrez est dû à des incompatibilités dans Scala versions. Pré-créer l'Étincelle 1.3.1 répartition est compilé avec les anciens Scala 2.10 parce que certains de l'Étincelle dépendances ne sont pas pris en charge en vertu de la 2.11, y compris la charge JDBC.
Je voudrais suggérer à l'exécution de votre Étincelle de cluster avec Scala 2.10. Toutefois, si vous voulez, vous pouvez aussi compiler votre Étincelle paquet avec Scala 2.11 de la manière suivante: