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;