zoukankan      html  css  js  c++  java
  • hadoop记录topk

    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);
    		 		
    		 		
    		 		
    		 	}
    
    		    
    
    
    
    }
    



    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    Install Edge Browser to RedHat Linux 7.7
    Beam简介
    Beam Schema定义
    Beam Pipeline的几种模式
    centos 查询磁盘空间占用情况 以及Can't create/write to file '/tmp/#sql_1f98_0.MYI' (Errcode: 28)
    Caused by: org.flywaydb.core.api.FlywayException: Validate failed: Migration checksum mismatch for migration 1 -> Applied to database
    SSTI学习
    2020/11/22周总结
    2020/11/15周总结
    2020/11/08周总结
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4635882.html
Copyright © 2011-2022 走看看