zoukankan      html  css  js  c++  java
  • mapreduce报错java.lang.InstantiationException

    一、报错信息:

    Exception in thread "main" java.lang.RuntimeException: java.lang.InstantiationException
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:131)
    at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:267)
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:143)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1307)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1304)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1917)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1304)
    at hadoop.utils.HadoopUtils.waitForCompletion(HadoopUtils.java:90)
    at MapreduceCodeWorkJob.run(MapreduceCodeWorkJob.java:56)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
    at MapreduceCodeWorkJob.main(MapreduceCodeWorkJob.java:35)
    Caused by: java.lang.InstantiationException
    at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:129)

    二、原因

    实例化异常,原因一般是通过反射实例化对象时失败,大多原因是在于没有空参构造器,但本次错误为用错了类:

    在配置reduce输出时:设置job.setOutputFormatClass(FileOutputFormat.class);

    将其改为:

    job.setOutputFormatClass(TextOutputFormat.class);

    就没有报错了。

    参考:

    https://www.cnblogs.com/yangxusun9/p/12358399.html

  • 相关阅读:
    进程与线程(二) java进程的内存模型
    进程学习(一) 进程的地址空间
    在一个数组中除两个数字只出现1次外,其它数字都出现了2次
    倒水问题
    leecode 树是否是平衡树 java
    Max Sum
    Encoding
    海阔天空-
    Binomial Showdown
    Square
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/13344801.html
Copyright © 2011-2022 走看看