我正在尝试使用MRUnit测试Hadoop.mapreduceAvro作业。我收到如下所示的NullPointerException。我附上了一部分pom和源代码。任何援助将不胜感激。谢谢我得到的错误是:java.lang.NullPointerExceptionatorg.apache.hadoop.mrunit.internal.io.Serialization.copy(Serialization.java:73)atorg.apache.hadoop.mrunit.internal.io.Serialization.copy(Serialization.java:91)ator
有没有一种方法可以通过使用MultipleOutputFormat写入多个输出文件的MRUnit来测试reduce类? 最佳答案 看起来对MultipleOutputs的支持仍在进行中theMRUnitJira.话虽如此,我发现有人实现了他自己的驱动程序子类化MRUnit的MapReduceDriver以使其与MultipleOutputs一起工作here,希望对您有所帮助。 关于java-使用MRUnit测试多个输出,我们在StackOverflow上找到一个类似的问题:
我正在尝试为我的hadoopMR作业编写一些单元测试并遇到以下异常。这是我第一次使用MRUnit,所以我不太确定这里发生了什么。java.lang.IncompatibleClassChangeError:Foundclassorg.apache.hadoop.mapreduce.TaskInputOutputContext,butinterfacewasexpectedatorg.apache.hadoop.mrunit.mapreduce.mock.MockContextWrapper.createCommon(MockContextWrapper.java:53)atorg.ap
我正在将之前在内存集群(使用MiniMRCluster)中运行的大量现有Hadoop单元测试retrofit到MRUnit中。现有的测试用例本质上是为Map阶段提供输入,然后测试Reduce阶段的输出。我有三个问题,其中任何一个的最佳答案都符合条件:1)通过使用MRUnit而不是内存集群进行单元测试,我在架构上会失去什么?2)是否值得将现有测试用例分解为Map-only测试和Reduce-only测试?在某些情况下我必须将它们分解吗?3)是否有MRUnit无法覆盖的测试场景? 最佳答案 改造过程教会了我一些可能的答案,我将在此处发布