天天看點

class com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text

運作mapreduce的wordcount時遇到的奇葩的錯誤:

Caused by: java.lang.ClassCastException: class com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text

    at java.lang.Class.asSubclass(Class.java:3404)

    at org.apache.hadoop.mapred.JobConf.getOutputKeyComparator(JobConf.java:887)

    at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.init(MapTask.java:1004)

    at org.apache.hadoop.mapred.MapTask.createSortingCollector(MapTask.java:402)

    ... 10 more

2018-12-03 11:32:11,903 INFO  [main] mapreduce.Job (Job.java:monitorAndPrintJob(1411)) - Job job_local214219855_0001 running in uber mode : false

2018-12-03 11:32:11,905 INFO  [main] mapreduce.Job (Job.java:monitorAndPrintJob(1418)) -  map 0% reduce 0%

2018-12-03 11:32:11,906 INFO  [main] mapreduce.Job (Job.java:monitorAndPrintJob(1431)) - Job job_local214219855_0001 failed with state FAILED due to: NA

2018-12-03 11:32:11,910 INFO  [main] mapreduce.Job (Job.java:monitorAndPrintJob(1436)) - Counters: 0

找了半天結果是Text的包導入錯了

不該是:import com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider.Text;

而該是:import org.apache.hadoop.io.Text;

是以希望大家導入包時可以多注意一下,以免一直困擾其中

繼續閱讀