Getting below exception while executing below program in eclipse.
any clue on whats wrong here would be helpful
*public* *class* WordCount {
*private* *static* *final* FlatMapFunction<String, String> *WORDS_EXTRACTOR*
=
*new* *FlatMapFunction<String, String>()* {
@Override
*public* Iterable<String> call(String s) *throws* Exception {
*return* Arrays.*asList*(s.split(" "));
}
};
*private* *static* *final* PairFunction<String, String, Integer>
*WORDS_MAPPER* =
*new* *PairFunction<String, String, Integer>()* {
@Override
*public* Tuple2<String, Integer> call(String s) *throws* Exception {
*return* *new* Tuple2<String, Integer>(s, 1);
}
};
*private* *static* *final* Function2<Integer, Integer, Integer>
*WORDS_REDUCER* =
*new* *Function2<Integer, Integer, Integer>()* {
@Override
*public* Integer call(Integer a, Integer b) *throws* Exception {
*return* a + b;
}
};
*public* *static* *void* main(String[] args) {
SparkConf conf = *new* SparkConf().setAppName("spark.WordCount").setMaster(
"local");
JavaSparkContext *context* = *new* JavaSparkContext(conf);
JavaRDD<String> file = context.textFile("Input/SampleTextFile.txt");
file.saveAsTextFile("file:///Output/WordCount.txt");
JavaRDD<String> words = file.flatMap(*WORDS_EXTRACTOR*);
JavaPairRDD<String, Integer> pairs = words.mapToPair(*WORDS_MAPPER*);
JavaPairRDD<String, Integer> counter = pairs.reduceByKey(*WORDS_REDUCER*);
counter.foreach(System.*out*::println);
counter.saveAsTextFile("file:///Output/WordCount.txt");
}
}
*Exception in thread "main" java.lang.IncompatibleClassChangeError:
Implementing class*
at java.lang.ClassLoader.defineClass1(*Native Method*)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(*Native Method*)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(*Native Method*)
at java.lang.Class.forName(Unknown Source)
at org.apache.spark.mapred.SparkHadoopMapRedUtil$class.firstAvailableClass(
*SparkHadoopMapRedUtil.scala:61*)
at org.apache.spark.mapred.SparkHadoopMapRedUtil$class.newJobContext(
*SparkHadoopMapRedUtil.scala:27*)
at org.apache.spark.SparkHadoopWriter.newJobContext(
*SparkHadoopWriter.scala:39*)
at org.apache.spark.SparkHadoopWriter.getJobContext(
*SparkHadoopWriter.scala:149*)
at org.apache.spark.SparkHadoopWriter.preSetup(*SparkHadoopWriter.scala:63*)
at org.apache.spark.rdd.PairRDDFunctions.saveAsHadoopDataset(
*PairRDDFunctions.scala:1045*)
at org.apache.spark.rdd.PairRDDFunctions.saveAsHadoopFile(
*PairRDDFunctions.scala:940*)
at org.apache.spark.rdd.PairRDDFunctions.saveAsHadoopFile(
*PairRDDFunctions.scala:849*)
at org.apache.spark.rdd.RDD.saveAsTextFile(*RDD.scala:1164*)
at org.apache.spark.api.java.JavaRDDLike$class.saveAsTextFile(
*JavaRDDLike.scala:443*)
at org.apache.spark.api.java.JavaRDD.saveAsTextFile(*JavaRDD.scala:32*)
at spark.WordCount.main(*WordCount.java:44*)