MRUnit的那些坑
1. Maven无法成功导入org.apache.mrunit
提示:
Unresolved dependency:’org.apache.mrunit:mrunit:jar….’
原因:没有确定版本
解决方法:在<dependency></dependency>
中间的语句块加上一行
<classifier>hadoop2</classifier>
从而将版本确定,问题解除
参考文章:
https://stackoverflow.com/questions/26432570/mrunit-dependency-latest-in-cloudera-repository
2. .withMapper()
方法无法过编译
提示:
Error:(30, 29) java: 不兼容的类型: max_weather.MaxTemperatureMapper无法转换为org.apache.hadoop.mapred.Mapper<org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.Text,org.apache.hadoop.io.Text,org.apache.hadoop.io.IntWritable
原因:错误地引用了mrunit包下针对旧API的MapDriver
解决方法:修改引用,将
import org.apache.hadoop.mrunit.MapDriver;
改为
import org.apache.hadoop.mrunit.mapreduce.MapDriver;