Kartashov, Andy 2012-11-23, 21:36
I know that there is old and new API for MapReduce. The old API is found under org.apache.hadoop.mapred and the new is under org.apache.hadoop.mapreduce
I successfully used both (the old and the new API) writing my MapReduce drivers.
The problem came up when I tried to use distributed cache. My new API Job object could not locate
public void addCacheFile<http://hadoop.apache.org/docs/current/api/src-html/org/apache/hadoop/mapreduce/Job.html#line.1016>(URI<http://download.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true> uri) method and I was scratching my head why.
What I did not reaslise is that despite new and oold API there is also Hadoop 0.20 vs Hadoop 2.0.0 APIs that use exact same packages.
The old Hadoop.0.20.00 new Mapreduce API class Job simply doesn't have that method "addCacheFile<http://hadoop.apache.org/docs/current/api/src-html/org/apache/hadoop/mapreduce/Job.html#line.1016>(URI<http://download.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true> uri)".
I am running Hadoop 2.0.0. so could not understand why the method was not inside the class. I ended up rewriting MR job under old API mapred package and ran soccessfully.
Can anyone shed some light on this?
NOTICE: This e-mail message and any attachments are confidential, subject to copyright and may be privileged. Any unauthorized use, copying or disclosure is prohibited. If you are not the intended recipient, please delete and contact the sender immediately. Please consider the environment before printing this e-mail. AVIS : le pr?sent courriel et toute pi?ce jointe qui l'accompagne sont confidentiels, prot?g?s par le droit d'auteur et peuvent ?tre couverts par le secret professionnel. Toute utilisation, copie ou divulgation non autoris?e est interdite. Si vous n'?tes pas le destinataire pr?vu de ce courriel, supprimez-le et contactez imm?diatement l'exp?diteur. Veuillez penser ? l'environnement avant d'imprimer le pr?sent courriel