Я написал карту только hasoop, в которой я использовал концепцию MultipleOutputs. Проблема здесь в том, что я хочу протестировать этот код с помощью MRUnit. Я не вижу никакого рабочего примера для тестирования MultipleOutput.Пример MRUnit для множественных выходов
Мой картографа код будет похож,
public void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
String inputString = value.toString();
String outputString = null;
Text resultValue = null;
String finalResult = null;
String exceptionMessage = null;
try {
outputString = processInput(dataSet, inputString);
} catch (MalformedURLException me) {
System.out.println("MalformedURLException Occurred in Mapper:"
+ me.getMessage());
exceptionMessage = me.getMessage();
} catch (SolrServerException se) {
System.out.println("SolrServerException Occurred in Mapper:"
+ se.getMessage());
exceptionMessage = se.getMessage();
}
if (outputString == null || outputString.isEmpty()
&& exceptionMessage != null) {
exceptionMessage = exceptionMessage.replaceAll("\n", ", ");
finalResult = inputString + "\t[Error] =" + exceptionMessage;
resultValue = new Text(finalResult);
multipleOutputs.write(SearchConstants.FAILURE_FILE,NullWritable.get(), resultValue);
} else {
finalResult = inputString + outputString;
resultValue = new Text(finalResult);
multipleOutputs.write(SearchConstants.SUCCESS_FILE,NullWritable.get(), resultValue);
}
}
Может кто-нибудь из вас, ребята, дайте мне рабочий пример теста MRUnit с MultipleOutputs?
Я использую Maven. Я получил ошибку ниже, когда пытался использовать PowerMock. Я также исключил зависимость от mockito. – Jahathesh
Я использую Maven. Я получил ошибку ниже, когда пытался использовать PowerMock. Я также исключил зависимость от mockito. 'java.lang.NoClassDefFoundError: орг/Mockito/CGLIB/прокси/энхансер на org.powermock.api.extension.proxyframework.ProxyFrameworkImpl.isProxy (ProxyFrameworkImpl.java:50)' ' \t орг. apache.mrunit \t mrunit \t 1.1.0 \t hadoop2 \t \t \t \t \t org.mockito \t \t Mockito-жильный \t \t \t ' –
Jahathesh
Были ли ваши версии зависимостей, отличных от тех, в моем примере? Очевидно, что 'mvn dependency: tree' может дать некоторое представление. Это похоже на то, что ваша версия Powermock не включает Mockito. – Keegan