2017-07-17 26 views
0
Exception in thread "main" java.lang.RuntimeException: class org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedPartitioner not org.apache.hadoop.mapred.Partitioner 

at org.apache.hadoop.conf.Configuration.setClass(Configuration.java:2273) 

at org.apache.hadoop.mapred.JobConf.setPartitionerClass(JobConf.java:1165) 

at org.apache.hadoop.streaming.StreamJob.setJobConf(StreamJob.java:944) 

at org.apache.hadoop.streaming.StreamJob.run(StreamJob.java:128) 

at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 

at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) 

at org.apache.hadoop.streaming.HadoopStreaming.main(HadoopStreaming.java:50) 

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 

at java.lang.reflect.Method.invoke(Method.java:498) 

at org.apache.hadoop.util.RunJar.run(RunJar.java:221) 

at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 

试图获取原木柜...Java错误:org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedPartitioner不org.apache.hadoop.mapred.Partitioner

无法获取历史登录;缺少作业ID

没有专柜发现

失败的可能原因扫描日志...

无法获取历史记录;缺少工作ID

无法提取任务日志;缺少应用程序ID

我在尝试为keyfieldbasedpartitioner使用分区类时遇到了此错误。我的输入和输出格式是rawvalueprotocol,输出是制表符分隔的。 有没有人见过这个?请帮忙。

+0

你可以发布你如何试图运行该作业是固定的? –

回答

0

这时候我用

--partitioner", "org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner",