J'utilise HDP 2.0 - Hadoop 2.2.0 et Apache Avro 1.7.4 et followig Guide Avro MapReduce pour un nouveau M/R api hereAvro emploi MapReduce ne java.lang.IncompatibleClassChangeError
J'obtiens l'erreur suivante
2014-07-15 05:46:04,354 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected
at org.apache.avro.mapreduce.AvroKeyInputFormat.createRecordReader(AvroKeyInputFormat.java:47)
at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.<init>(MapTask.java:491)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:734)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:339)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:162)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157)
Semble que je suis en train de mélanger l'ancienne et la nouvelle api. Toute proposition? Thx
Non, mélangez des versions de Hadoop. Je suppose que Avro 1.7.4 n'a pas été compilé avec Hadoop 2.2.x. –
Trouvé aussi bien. THX – jaksky