Mam do czynienia z problemem podczas uruchamiania MapReduceprogram wykorzystujący Hadoop 2 (YARN) i Pig. Jestem w stanie odczytać dane z Cassandry za pomocą skryptu Pig, jednak przy uruchomieniu MapReduce rzuca wyjątek podany poniżej:
Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
at org.apache.cassandra.hadoop.ColumnFamilyOutputFormat.checkOutputSpecs(ColumnFamilyOutputFormat.java:80)
at org.apache.pig.newplan.logical.rules.InputOutputFileValidator$InputOutputFileVisitor.visit(InputOutputFileValidator.java:80)
at org.apache.pig.newplan.logical.relational.LOStore.accept(LOStore.java:66)
Odpowiedzi:
0 dla odpowiedzi № 1Binarna dystrybucja Pig jest kompilowana z Hadoop 1.x. Musisz przekompilować go do wersji 2.x (w moim przypadku 2.2), aby go uruchomić. Spróbuj tego:
ant clean jar-withouthadoop -Dhadoopversion=23
(źródło)