gpt4 book ai didi

hadoop - 如何运行 MRUnit?

转载 作者:行者123 更新时间:2023-12-02 20:11:46 42 4
gpt4 key购买 nike

我写了一个 MRUnit 来测试我的映射器。但是,我不知道如何在 Eclipse 中运行它,因为它会从分布式缓存中读取一些数据。当我在 Eclipse 中将它作为普通类运行时,它给了我一堆错误。这些是我收到的错误消息:

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.hadoop.mrunit.TestDriver.<clinit>(TestDriver.java:38)
at MapperCombinerReducerTester.setUp(MapperCombinerReducerTester.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at ....

最佳答案

您的错误与不在类路径上的依赖库(commons-logging)有关。您是在使用 Maven(与 m2e 结合)来管理您的项目依赖项,还是在 Eclipse 中使用直接的 Java 项目?

使用 MRUnit 测试依赖于分布式缓存的映射器/reducer 也很棘手,因为 0.9.0 不支持模拟分布式缓存(如果您查看 JIRA tickets,则在 1.0.0 中出现)。我之前这样做的一种方法是假设使用符号链接(symbolic link)本地缓存文件,并在我的单元测试设置中将文件复制到本地目录(困惑但它有效)。

关于hadoop - 如何运行 MRUnit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14222236/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com