2020-09-17

Driver
思路:
注释已经标好
这个类需要改的地方

1.` 输入输出的地址

  Path inpath=new Path("D:\\About_study\\idea\\workplace\\input\\weatherdata.txt");
        Path outpath=new Path("D:\\About_study\\idea\\workplace\\output2");

2`
Map和Reducer的key和value的类型 主义和前面所对应,

   //4设置mapper阶段输出的key和value类型
    job.setMapOutputKeyClass(Text.class);
    job.setMapOutputValueClass(NullWritable.class);
//5设置最终数据输出的key和value类型
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(NullWritable.class);

整体完整代码


   Configuration conf = new Configuration();
        //1 获取job对象
        Job job = Job.getInstance(conf);

        //2设置jar存储位置
        job.setJarByClass(WeatherDriver.class);

        //3关联map和reduce
        job.setMapperClass(WeatherMap.class);
        job.setReducerClass(WeatherReducer.class);

        //4设置mapper阶段输出的key和value类型
        job.setMapOutputKeyClass(Text.class);
        job.setMapOutputValueClass(NullWritable.class);

        //5设置最终数据输出的key和value类型
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(NullWritable.class);

        //6设置输入路径和输出路径
        //FileInputFormat.setInputPaths(job, new Path("D:\\About_study\\idea\\workplace\\input\\hellow.txt"));
        // FileOutputFormat.setOutputPath(job, new Path("D:\\About_study\\idea\\workplace\\output"));
        Path p=setPath(job);
        p.getFileSystem(conf).delete(p,true);
        //7提交job
        Boolean result = job.waitForCompletion(true);
        if (result == true) {
            System.out.println("success");
        } else {
            System.out.println("failed");
        }
        System.exit(result ? 0 : 1);
    }
    private static Path setPath(Job job) throws IOException {
        Path inpath=new Path("D:\\About_study\\idea\\workplace\\input\\weatherdata.txt");
        Path outpath=new Path("D:\\About_study\\idea\\workplace\\output2");
        FileInputFormat.addInputPath(job,inpath);
        FileOutputFormat.setOutputPath(job,outpath);
        return outpath;
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值