Процесс модернизации научил меня некоторым потенциальным ответам, которые я собираюсь опубликовать здесь.Я все же предпочел бы услышать, что говорят другие, поэтому я не приму этот ответ.
1) Я потерял по крайней мере две вещи.Во-первых, сантехника МР издевается.Таким образом, есть вероятность, что некоторые из «насмешек» скрывают проблему, которая может существовать в работе MR.Во-вторых, задание MR состоит из ввода из файловой системы и вывода в файловую систему, в дополнение к разделению и упорядочению между картой и фазой сокращения.MRUnit не полностью обрабатывает эти аспекты Hadoop, поэтому, если работа MR зависит от этих функций, они не могут быть протестированы.Тем не менее, все еще можно переписать тесты, чтобы протестировать только детали Map / Reduce .
2) По большей части не стоит разбивать существующие тесты.Если существующий тест зависит, например, от разделителя, то может иметь смысл разбить тест, чтобы можно было проверить Map и Reduce без участия разделителя.В целом, однако, не стоит делать «просто делать это».
3) Да - разделители для одного.Выходные форматы для другого.Это может быть не так уж важно для некоторых людей, но многие из наших существующих работ основаны на этих двух функциях, и, поскольку модульные тесты соответствуют окончательному выводу из выходного формата, мне приходится переписывать довольно много тестов.чтобы заставить их работать.
[править]
просто прочитайте сообщение в блоге от Cloudera, в котором также содержится ответ:
http://www.cloudera.com/blog/2009/07/debugging-mapreduce-programs-with-mrunit/