Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何测试含有突变的还原剂_Hadoop_Mrunit - Fatal编程技术网

Hadoop 如何测试含有突变的还原剂

Hadoop 如何测试含有突变的还原剂,hadoop,mrunit,Hadoop,Mrunit,我试图使用MRUnit,但我所看到的示例中没有一个与我所尝试的完全匹配 我的减速器输出一个键和突变,但我似乎无法将突变与预期进行比较。它显示的对象相同,但地址为0,错误如下: junit.framework.AssertionFailedError: expected: <org.apache.accumulo.core.data.Mutation@0> but was <org.apache.accumulo.core.data.Mutation@0> junit.f

我试图使用MRUnit,但我所看到的示例中没有一个与我所尝试的完全匹配

我的减速器输出一个键和突变,但我似乎无法将突变与预期进行比较。它显示的对象相同,但地址为0,错误如下:

junit.framework.AssertionFailedError: expected: <org.apache.accumulo.core.data.Mutation@0> but was <org.apache.accumulo.core.data.Mutation@0>
junit.framework.AssertionFailedError:应为:但为
我正在使用reduceDriver.run()方法,并尝试在预期的突变对象上使用实际值进行assertEquals。我有什么遗漏吗


感谢您的输入。

突变没有合适的equals()实现。最好是比较getUpdates()和getRow()的结果。它们分别返回一个列表和一个字节[],并且很容易进行比较。

突变有一个合适的equals()方法,至少在1.4.x行中是这样。但是,该方法调用一个私有serialize()方法,该方法修改要检查的数据

过去,我通过将突变包装在一个新的突变中来解决这个问题,该突变称为“引擎盖下的序列化”:

 assertEquals(expectedMutation, new Mutation(actualMutation));

您可以扩展变异并将新类传递给mrunit。只需在新类中重写equals