Essayez d'exécuter un code mapreduce simple qui lit les données d'un fichier RCFile.Impossible de se débarrasser de java.lang.ClassNotFoundException: Classe org.apache.hadoop.hive.ql.io.RCFileInputFormat
Je suis en cours d'exécution du code en utilisant la commande Hadoop:
hadoop jar MRJobRCFile.jar MRJobRCFile <inputRCfile> <outputfile>
Inspite d'ajouter pot de ruche-exec pour Hadoop classpath, obtenir cette erreur.
export HADOOP_CLASSPATH=/opt/cmr/hadoopinstall/hive-0.10.0-cdh4.4.0/lib/hive-exec-0.10.0-cdh4.4.0.jar
Comment puis-je ajouter le pot?
Essayé vérifier les pots chargés en utilisant jvm bavard: Classe:
[org.apache.hadoop.hive.ql.io.RCFileInputFormat chargé du fichier: /opt/cmr/hadoopinstall/hive-0.10.0 -cdh4.4.0/lib/hive-exec-0.10.0-cdh4.4.0.jar]
RCFileInputFormat est en cours de chargement par JVM.
Une idée de la façon de procéder à ce problème? Erreur:
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.hive.ql.io.RCFileInputFormat not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1649)
at org.apache.hadoop.mapred.JobConf.getInputFormat(JobConf.java:620)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:394)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:332)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
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:1408)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.hive.ql.io.RCFileInputFormat not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1617)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java
Le fichier jar est le fichier hive jar de cloudera, alors que le chemin semble provenir d'apache hive. Pouvez-vous vérifier quel jar définit la dépendance au moment de la compilation? –
@PreetiKhurana: J'ai résolu ce problème en ajoutant le Hive-exec à HADOOP_CLASSPATH ainsi qu'en ajoutant le JAR au cache distribué. –