8

我想实现一个 Maven 项目,它可以帮助我对 Hadoop MapReduce 作业进行单元测试。我最大的问题是定义 Maven 依赖项以便能够使用测试类:MiniDFSCluster 和 MiniMRCluster。

我正在使用 Hadoop 2.4.1。有任何想法吗?

4

2 回答 2

6

如果其他人仍在寻找答案:

MiniMRCluster 现在已弃用。

您可以在依赖项中获取 MiniDFSCluster 和 MiniMRCluster(显示为 Gradle)

compile group: 'org.apache.hadoop', name: 'hadoop-minicluster', version: '2.7.2'

依赖项基本上只是一个 pom 文件,列出了这个包中的依赖项。对于那些想要查看这个的人来说,MiniDFSCluster 在神器中hadoop-hdfs:tests

您不必使用 Cloudera 存储库中的依赖项

于 2016-09-24T10:49:17.967 回答
3

我想我想通了。在你的 Maven pom 文件中,首先添加一个新的存储库:

<repositories>
    <repository>
        <id>cloudera</id>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
</repositories>

然后将以下内容添加到您的项目依赖项中

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.1</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-auth</artifactId>
    <version>2.0.0-cdh4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-test</artifactId>
    <version>2.0.0-mr1-cdh4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-hdfs</artifactId>
    <version>2.0.0-cdh4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-hdfs</artifactId>
    <version>2.0.0-cdh4.3.0</version>
    <classifier>tests</classifier>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>2.0.0-cdh4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>2.0.0-cdh4.3.0</version>
    <classifier>tests</classifier>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-core</artifactId>
    <version>2.0.0-mr1-cdh4.3.0</version>
</dependency>

如果有人有兴趣获得整个项目(著名的 WordCount MapReduce 工作的单元测试,我愿意分享)

于 2014-07-03T12:53:34.520 回答