zoukankan      html  css  js  c++  java
  • mapreduce中reduce没有执行

     hadoop执行mapreduce过程reduce不执行原因

    1.如果你的map过程中没有context.write()是不执行reduce过程的;
    2.如果你的map过程中context.write()的map后的的部分数据出现问题,
    不符合reduce接受的数据也会不执行reduce
    比如说你的日志文件中有一个空行是不符合reduce的接受数据reduce不执行;

     原:(会读到空行,不符合reduce的接受数据,reduce不执行)

    public static class Map extends Mapper<Object,Text,Text,IntWritable>{    //将输入输出作为string类型,对应Text类型
                private static Text newKey=new Text();    //每一行作为一个数据  
                public void map(Object key, Text value, Context context) throws IOException, InterruptedException{   
                    String line=value.toString();//转为字符串类型
                    System.out.println(line);
                        String arr[]=line.split(" ");//splite是按照输入的值拆分成数组
                        newKey.set(arr[0]);
                        int click=Integer.parseInt(arr[1]);
                        context.write(newKey,new IntWritable(click)); 
                        System.out.println(newKey+"  "+new IntWritable(click));                
                 } 
             }   

     加判断语句:

    public static class Map extends Mapper<Object,Text,Text,IntWritable>{    //将输入输出作为string类型,对应Text类型
                private static Text newKey=new Text();    //每一行作为一个数据  
                public void map(Object key, Text value, Context context) throws IOException, InterruptedException{   
                    String line=value.toString();//转为字符串类型
                    System.out.println(line);
                    if(!("".equals(line)))//增加控制语句,使得line为”“时能够停止。否则不符合reduce接受的数据不会执行reduce
                    {
                        String arr[]=line.split(" ");//splite是按照输入的值拆分成数组
                        newKey.set(arr[0]);
                        int click=Integer.parseInt(arr[1]);
                        context.write(newKey,new IntWritable(click)); 
                        System.out.println(newKey+"  "+new IntWritable(click));
                    }
                 } 
             }   
  • 相关阅读:
    使用Dundas控件在web应用上展现多维数据集
    silverlight for olap version milestone 07 updated!
    版本管理客户端工具
    多维数据集数据聚合性能笔记
    关于生成一个随机数组
    Silverlight Dashboards and gauges from codeplex
    在Silverlight下用Visifire显示多维数据集中的数据
    用所能用
    在Vista配置SSAS通过HTTP远程连接的方法.
    手术日记
  • 原文地址:https://www.cnblogs.com/sengzhao666/p/11808268.html
Copyright © 2011-2022 走看看