栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【已解决】关于IDEA中 Driver 出现Exception in thread ";main"; java.lang.NullPointerException问题

【已解决】关于IDEA中 Driver 出现Exception in thread ";main"; java.lang.NullPointerException问题

在学习hive过程中,按照mapreduce编程规范,分别编写Mapper,Reducer,Driver,在编写Driver后运行报错了,花了两天,找到了解决方案(裂开.JPG)。
代码:
package com.miao;

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.lib.input.FileInputFormat;
        import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

public class WCDriver {

    public static void main(String[] args) throws Exception {
        // 1 创建一个配置对象
        Configuration conf = new Configuration();
        // 2 通过配置对象获取一个job对象
        Job job = Job.getInstance(conf);
        // 3 设置job的jar包
        job.setJarByClass(WCDriver.class);
        // 4 设置job的mapper类,reduce类
        job.setMapperClass(WCMapper.class);
        job.setReducerClass(WCReducer.class);
        // 5 设置mapper的keyout和valueout
        job.setMapOutputKeyClass(Text.class);
        job.setMapOutputValueClass(IntWritable.class);
        // 6 设置最终输出数据的keyout和valueout
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(IntWritable.class);
        // 7 设置输入数据的路径和输出数据的路径---
        FileInputFormat.setInputPaths(job,new Path(args[0])); // 也可以写死路径
        //注意输出目录不能事先存在,必须设置一个不存在的目录,框架会自行创建,否则就会报错
        FileOutputFormat.setOutputPath(job,new Path(args[1])); // 也可以写死路径
        // 8 向yarn或者本地yarn模拟器提交任务
        boolean res = job.waitForCompletion(true);
        System.out.println("是否成功:"+res);

    }

}

报错:

Exception in thread "main" java.lang.NullPointerException

原因:

在设置路径时那儿没有指定路径,或者指定了已经存在的路径。

解决:

 1.点击此处去设置传输文件的保存路径

 

2.编辑路径(前一个为原本文本文档的路径,第二个为IDEA上要传的文件所要传到电脑本机的路径,我这里选择同样传到E盘的将会被IDEA自动新建的名为abc的文件夹里)

 3.然后运行你的Driver.java,就会成功了。(如果上传的文件夹路径是电脑存在的,依旧会报错,所以设置路径时一定需要取一个电脑里没有的文件夹名字!)

orz 报错时搜遍全网,找了两天都没看到解决这个的帖子,记录一下。

当然我是学这个的菜逼,还是很多不懂。。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/775564.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号