MapReduce处理WordCount时,发现hadoop.mapreduce和mhadoop.mapred包中有些类名相同,导致引错包或不知道该用哪个!!!!!
mapred代表的是hadoop旧API,而mapreduce代表的是hadoop新的API,新旧不兼容,最好使用新的。
详细介绍这位大哥写的很清楚,感兴趣可以去看看:
https://blog.csdn.net/u014470581/article/details/51488008
2.执行MapReduce任务的时候出现这个问题(java.long.ClassCastException:interface javax.xml.soap.Text)
原因: Text包导成了import javax.xml.soap.Text;
解决:应该导import org.apache.hadoop.io.Text;
3.运行job任务中存在自定义参数类型(即实现了WritableComparable接口的类)控制台会报出:
java.lang.RuntimeException: java.lang.NoSuchMethodException ......<init>()
.
是通过java反射机制对该类进行实例化,实例化时调用的是空参的构造方法,即使用类对象.newInstance()进行实例化,所以必须加一个无参构造函数。