有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无法摆脱java。lang.ClassNotFoundException:类组织。阿帕奇。hadoop。蜂箱ql.io。RCFileInputFormat

尝试运行从RCF文件读取数据的简单mapreduce代码

我正在使用hadoop命令运行代码:

hadoop jar MRJobRCFile.jar MRJobRCFile <inputRCfile> <outputfile>  

尽管将hive exec jar添加到hadoop类路径,但仍会出现此错误

export HADOOP_CLASSPATH=/opt/cmr/hadoopinstall/hive-0.10.0-cdh4.4.0/lib/hive-exec-0.10.0-cdh4.4.0.jar

我还可以怎样添加这个罐子

尝试使用verbose:class检查jvm中加载的JAR:

[已从文件中加载org.apache.hadoop.hive.ql.io.RCFileInputFormat:/opt/cmr/hadoopinstall/hive-0.10.0-cdh4.4.0/lib/hive-exec-0.10.0-cdh4.4.0.jar]

JVM正在加载RCFileInputFormat

你知道如何处理这个问题吗?错误:

java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.hive.ql.io.RCFileInputFormat not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1649)
at org.apache.hadoop.mapred.JobConf.getInputFormat(JobConf.java:620)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:394)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:332)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.hive.ql.io.RCFileInputFormat not found
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1617)
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java

共 (1) 个答案

  1. # 1 楼答案

    通过将hive exec jar添加到HADOOP_类路径和分布式缓存来解决

    将jar添加到分布式缓存是为了使它们可用于远程映射并减少任务JVM。添加HADOOP_类路径是为了客户端JVM(由HADOOP jar命令创建)