hadoop记录topk

来源:互联网 发布:网络舆情监测就业方向 编辑:程序博客网 时间:2024/05/07 01:32
lk@lk-virtual-machine:~/hadoop-1.0.1/bin$ ./hadoop jar ~/hadoop-1.0.1/to.jar top.Top input output
14/05/12 03:44:37 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
****hdfs://localhost:9000/user/lk/input
14/05/12 03:44:41 INFO input.FileInputFormat: Total input paths to process : 4
14/05/12 03:44:48 INFO mapred.JobClient: Running job: job_201405120333_0001
14/05/12 03:44:49 INFO mapred.JobClient:  map 0% reduce 0%
14/05/12 03:46:36 INFO mapred.JobClient:  map 50% reduce 0%
14/05/12 03:47:28 INFO mapred.JobClient:  map 0% reduce 0%
14/05/12 03:47:29 INFO mapred.JobClient: Task Id : attempt_201405120333_0001_m_000000_0, Status : FAILED
attempt_201405120333_0001_m_000000_0: log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapred.Task).
attempt_201405120333_0001_m_000000_0: log4j:WARN Please initialize the log4j system properly.
14/05/12 03:47:44 INFO mapred.JobClient: Task Id : attempt_201405120333_0001_m_000001_0, Status : FAILED
attempt_201405120333_0001_m_000001_0: log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapred.Task).
attempt_201405120333_0001_m_000001_0: log4j:WARN Please initialize the log4j system properly.
14/05/12 03:49:37 INFO mapred.JobClient:  map 50% reduce 0%
14/05/12 03:50:13 INFO mapred.JobClient: Task Id : attempt_201405120333_0001_m_000000_1, Status : FAILED
java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text
    at top.Top$topMap.map(Top.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:416)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)

attempt_201405120333_0001_m_000000_1: log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapred.Task).
attempt_201405120333_0001_m_000000_1: log4j:WARN Please initialize the log4j system properly.
14/05/12 03:50:17 INFO mapred.JobClient:  map 0% reduce 0%
14/05/12 03:50:17 INFO mapred.JobClient: Task Id : attempt_201405120333_0001_m_000001_1, Status : FAILED
attempt_201405120333_0001_m_000001_1: log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapred.Task).
attempt_201405120333_0001_m_000001_1: log4j:WARN Please initialize the log4j system properly.
14/05/12 03:52:36 INFO mapred.JobClient:  map 50% reduce 0%
14/05/12 03:52:57 INFO mapred.JobClient:  map 25% reduce 0%
14/05/12 03:53:01 INFO mapred.JobClient: Task Id : attempt_201405120333_0001_m_000001_2, Status : FAILED
java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text
    at top.Top$topMap.map(Top.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:416)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)

attempt_201405120333_0001_m_000001_2: log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapred.Task).
attempt_201405120333_0001_m_000001_2: log4j:WARN Please initialize the log4j system properly.
14/05/12 03:53:09 INFO mapred.JobClient:  map 0% reduce 0%
14/05/12 03:53:37 INFO mapred.JobClient: Task Id : attempt_201405120333_0001_m_000000_2, Status : FAILED
java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text
    at top.Top$topMap.map(Top.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:416)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)

attempt_201405120333_0001_m_000000_2: log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapred.Task).
attempt_201405120333_0001_m_000000_2: log4j:WARN Please initialize the log4j system properly.
14/05/12 03:54:03 INFO mapred.JobClient: Job complete: job_201405120333_0001
14/05/12 03:54:06 INFO mapred.JobClient: Counters: 7
14/05/12 03:54:06 INFO mapred.JobClient:   Job Counters
14/05/12 03:54:06 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=830699
14/05/12 03:54:06 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
14/05/12 03:54:06 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
14/05/12 03:54:06 INFO mapred.JobClient:     Launched map tasks=8
14/05/12 03:54:06 INFO mapred.JobClient:     Data-local map tasks=8
14/05/12 03:54:06 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=0
14/05/12 03:54:06 INFO mapred.JobClient:     Failed map tasks=1
lk@lk-virtual-machine:~/hadoop-1.0.1/bin$ ./hadoop dfs -ls output
Found 1 items
drwxr-xr-x   - lk supergroup          0 2014-05-12 03:44 /user/lk/output/_logs

lk@lk-virtual-machine:~/hadoop-1.0.1/bin$





package top;import java.io.IOException;import java.util.*;import java.util.TreeMap;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class Top {public static class topMap extends Mapper<Text, Text,  IntWritable,Text>{                     private TreeMap<Integer, String> topMap = new TreeMap<Integer,String>();           private int topNum = 1;           public void map(Text key,Text value,Context context){               topMap.put(Integer.parseInt(value.toString()), key.toString());                   while(topMap.size()>topNum)                   topMap.remove(topMap.firstKey());           }                       protected void cleanup(Context context) throws IOException, InterruptedException{               for(Integer entry:topMap.keySet()){                   context.write(new IntWritable(entry),new Text(topMap.get(entry)));               }           }       }               //瀹炵幇闄嶅簭       private static class descendComparator implements Comparator{               @Override          public int compare(Object o1, Object o2) {               // TODO Auto-generated method stub               Integer a=(Integer) o1;               Integer b=(Integer) o2;                               return -a.compareTo(b);           }                   }       public static class topReduce extends Reducer<IntWritable,Text , IntWritable,Text>{                       private TreeMap<Integer, String> topMap =new TreeMap<Integer,String>(new descendComparator());           private int topNum = 1;           public void reduce(IntWritable key,Iterable<Text> values,Context context){                               for(Text text:values)                   topMap.put(key.get(),text.toString());               while(topMap.size()>topNum){                   topMap.remove(topMap.firstKey());               }                   }                       protected void cleanup(Context context) throws IOException, InterruptedException{               for(Integer integer:topMap.keySet()){                  context.write(new IntWritable(integer),new Text(topMap.get(integer)));               }           }       }            public static void main(String[]args)throws Exception { Configuration conf =new Configuration();  Job job =new Job(conf,"Top");  job.setJarByClass(topMap.class); job.setMapperClass(topMap.class);         job.setReducerClass(topReduce.class);  job.setOutputKeyClass(IntWritable.class); job.setOutputValueClass(Text.class);  FileInputFormat.addInputPath(job,new Path(args[0])); FileOutputFormat.setOutputPath(job,new Path(args[1]));//setOutputPath(job,new Path(args[1]));  System.exit(job.waitForCompletion(true)?0:1);    }    }



0 0
原创粉丝点击