gpt4 book ai didi

Hadoop MRUnit 抛出异常

转载 作者:可可西里 更新时间:2023-11-01 14:14:34 26 4
gpt4 key购买 nike

我正在尝试为我的 hadoop MR 作业编写一些单元测试并遇到以下异常。这是我第一次使用 MRUnit,所以我不太确定这里发生了什么。

java.lang.IncompatibleClassChangeError: Found class org.apache.hadoop.mapreduce.TaskInputOutputContext, but interface was expected
at org.apache.hadoop.mrunit.mapreduce.mock.MockContextWrapper.createCommon(MockContextWrapper.java:53)
at org.apache.hadoop.mrunit.mapreduce.mock.MockMapContextWrapper.create(MockMapContextWrapper.java:70)
at org.apache.hadoop.mrunit.mapreduce.mock.MockMapContextWrapper.<init>(MockMapContextWrapper.java:62)
at org.apache.hadoop.mrunit.mapreduce.MapDriver.run(MapDriver.java:217)
at org.apache.hadoop.mrunit.MapDriverBase.runTest(MapDriverBase.java:150)
at org.apache.hadoop.mrunit.TestDriver.runTest(TestDriver.java:137)

我的实际代码看起来很简单

private MapDriver<Text, Text, Text, Text> mapDriver = MapDriver.newMapDriver(mapper);
private ReduceDriver<Text, Text, Text, Text> reduceDriver = ReduceDriver.newReduceDriver(reducer);
private MapReduceDriver<Text, Text, Text, Text, Text, Text> driver = MapReduceDriver.newMapReduceDriver(mapper, reducer);

@Test
public void testMapper() {
mapDriver.withInput(new Text("1"), new Text("Line 1"));
mapDriver.withOutput(new Text("1"), new Text("Line 1"));
mapDriver.runTest();
}

最佳答案

正如您在 here 中看到的那样,在 mrunit 0.9 中有两个分类器。并且在Java 7环境下使用mrunit存在一些问题。

也许,您正在使用 hadoop 1.0.x 进行开发,并且只在 pom.xml 文件中添加了两个分类器之一。解决方案很简单:只需添加另一个,如下所述。仅此而已。

<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>org.apache.mrunit</groupId>
<artifactId>mrunit</artifactId>
<version>0.9.0-incubating</version>
<classifier>hadoop1</classifier>
</dependency>
<dependency>
<groupId>org.apache.mrunit</groupId>
<artifactId>mrunit</artifactId>
<version>0.9.0-incubating</version>
<classifier>hadoop2</classifier>
</dependency>
</dependencies>

我认为这个错误会在下一个版本中解决,但我不能相信。

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

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