什么是mrunit的继任者?

Dav*_*aro 16 unit-testing hadoop mapreduce mrunit

今天我发现ASF退役了mrunit(参见https://blogs.apache.org/foundation/entry/the_apache_news_round_up85https://issues.apache.org/jira/browse/HADOOP-3733主页本身).除了"不活动"之外没有给出任何理由,所以我想必须有另一种选择吗?

将来应该使用什么代替mrunit来测试mapreduce工作呢?

Sri*_*riK 5

我相信这次退休的原因是认识到Mockito已经能够处理你需要对你的mapper/reducer进行单元测试.您只需要模拟Context,Counter和HBase KeyValue,然后您可以将一行(以Result对象的形式)传递给映射器,并检查发出的键/值是否正确.

仅供参考 - 在没有MRUnit和PowerMock的任何帮助的情况下,我实际上使用这种方法完成了我的MR单元测试.

  • 如果实际上有一些与之关联的示例代码,这将是一个更好的答案. (13认同)

Sai*_*sif 3

不完全是继任者,但我通过一些研究尝试并测试了一种解决方法。它实际上是基于hadoop的Minicluster模块。

要了解如何使用它,可以在此链接中找到详细信息。这里有一个 github 演示项目 。

  • 对这项研究投一票。事实上,我们已经在一个实例中使用了“MiniDFSCluster”,并且肯定可以更多地使用它。但这不是我正在寻找的答案,因为MiniCluster更多的是功能级别的测试。我们还想涵盖单元级别方面(所以基本上只是映射/归约方法) (2认同)