gpt4 book ai didi

maven - Hadoop2 的 Hadoop MRUnit 异常

转载 作者:行者123 更新时间:2023-12-02 19:51:34 24 4
gpt4 key购买 nike

我正在尝试使用 MRUnit 对 Hadoop2 进行测试,但出现以下错误:

java.lang.IncompatibleClassChangeError: Found class org.apache.hadoop.mapreduce.TaskInputOutputContext, but interface was expected

我在 Stack Overflow 上看到了其他几个答案,但大多数似乎与在 Hadoop1 和 Hadoop2 的 pom.xml 文件中包含多个配置有关的问题。

有人对可能导致这种情况的原因有任何见解吗?

我的 pom.xml 文件如下:
 <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.davidmoten</groupId>
<artifactId>geo</artifactId>
<version>0.6.5</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>activation</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.mrunit</groupId>
<artifactId>mrunit</artifactId>
<version>1.0.0</version>
<classifier>hadoop2</classifier>
<scope>test</scope>
</dependency>

最佳答案

这意味着您实际上并未在 Hadoop 2 上运行。TaskInputOutputContext是一个接口(interface)是2.x,但它说它认为它是一个类。

事实上你的pom.xml证实了这一点。 hadoop-core是 1.x 的神器。您将使用 hadoop-common 之类的东西在 2.x 中。

关于maven - Hadoop2 的 Hadoop MRUnit 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19456527/

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