在hadoop mapReduce项目下设置pom.xml

时间:2015-09-16 04:17:33

标签: java maven hadoop pom.xml

我创建了一个字数统计项目,并通过maxmind(maven)使用maven导入GeoIP - 这个Geoip项目是build with maven

导入后,我在word count项目旁边有一个新项目(geoIP),其中包含由eclipse创建的pom.xml(非常长)。

但是在上面的链接中他们说是添加到pom.xml

{{1}}
  1. 如果eclipse为我创建了pom.xml,我不会得到它,我应该删除它还是用上面的代码添加它?

  2. 我需要多少个pom.xml文件?

  3. MapReduce项目是否也需要使用maven构建?

1 个答案:

答案 0 :(得分:3)

我没有使用过GeoIP2,但它不应该在这里有所作为。

  

如果eclipse为我创建了pom.xml,我应该删除OR还是用上面的代码添加吗?

默认情况下,Eclipse为 geoip 项目创建了一个pom.xml文件。您应该为文件添加新的依赖项以访问GeoIP。

  

我需要多少个pom.xml文件?

真的取决于您的整体项目结构。您应该查看此SO question的答案,并查看项目的多个maven文件的this example

  

MapReduce项目是否也需要使用maven构建?

不,但我会推荐它,它会让你的生活更轻松。以下是Map-Reduce Jobs的依赖项:

<dependencies>
    <!-- junit testing framework -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <!-- hadoop hdfs components -->
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <version>2.7.1</version>
    </dependency>
    <!-- hadoop map-reduce components -->
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-core</artifactId>
        <version>2.7.1</version>
    </dependency>
    <!-- hadoop common components -->
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>2.7.1</version>
    </dependency>
</dependencies> 

所有其他依赖项都位于Maven Repository for Hadoop