Here seems to be some problem in the mapper logic. You need to have the input according to your code or need to update the code to handle the cases like having the odd no of words in a line.

Before getting the element second time, need to check whether tokenizer has more elements or not. If you have only two words in a line, you can modify the code to get these directly instead of iterating multiple times.

13/07/31 09:29:41 INFO mapred.JobClient: Task Id : attempt_201307102216_0270_m_000002_2, Status : FAILEDjava.util.NoSuchElementException at java.util.StringTokenizer.nextToken(StringTokenizer.java:332) at java.util.StringTokenizer.nextElement(StringTokenizer.java:390) at org.mean.Mean$MeanMapper.map(Mean.java:60) at org.mean.Mean$MeanMapper.map(Mean.java:1) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) at org.apache.hadoop.mapred.Child$4.run(Child.java:255) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093) at org.apache.hadoop.mapred.Child.main(Child.java:249)

Hi, Thanks for responding.How do I do that? (very new in java )There are just two words per line..One is word, second is integer.ThanksOn Wed, Jul 31, 2013 at 11:20 AM, Devaraj k <[EMAIL PROTECTED]> wrote:

Hi, Thanks for responding.How do I do that? (very new in java )There are just two words per line..One is word, second is integer.Thanks

On Wed, Jul 31, 2013 at 11:20 AM, Devaraj k <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote:Here seems to be some problem in the mapper logic. You need to have the input according to your code or need to update the code to handle the cases like having the odd no of words in a line.

Before getting the element second time, need to check whether tokenizer has more elements or not. If you have only two words in a line, you can modify the code to get these directly instead of iterating multiple times.

13/07/31 09:29:41 INFO mapred.JobClient: Task Id : attempt_201307102216_0270_m_000002_2, Status : FAILEDjava.util.NoSuchElementException at java.util.StringTokenizer.nextToken(StringTokenizer.java:332) at java.util.StringTokenizer.nextElement(StringTokenizer.java:390) at org.mean.Mean$MeanMapper.map(Mean.java:60) at org.mean.Mean$MeanMapper.map(Mean.java:1) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) at org.apache.hadoop.mapred.Child$4.run(Child.java:255) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093) at org.apache.hadoop.mapred.Child.main(Child.java:249)