2015-09-16 1 views
2

J'ai créé un projet de comptage de mots et importé avec maven le GeoIP de maxmind (maven) - ce projet Geoip est build with maven.Paramètre pour pom.xml sous hadoop mapReduce project

Après l'importation, j'ai un nouveau projet (geoIP) à côté du projet de compte de mots avec un pom.xml (très long) qui a été créé par eclipse.

Mais dans le lien ci-dessus, ils disent ajouter à pom.xml

<dependency> 
    <groupId>com.maxmind.geoip2</groupId> 
    <artifactId>geoip2</artifactId> 
    <version>v2.3.0</version> 
</dependency> 

  1. Je ne suis pas si éclipse créé pom.xml pour moi que je devrais supprimer ou ajouter avec le code ci-dessus?

  2. De combien de fichiers pom.xml ai-je besoin?

  3. Est-ce que le projet MapReduce doit également être construit avec maven?

Répondre

3

Je n'ai pas travaillé avec GeoIP2 mais cela ne devrait pas faire de différence ici.

si eclipse créé pom.xml pour moi devrais-je supprimer OU l'ajouter avec le code ci-dessus?

Eclipse a créé un fichier pom.xml pour votre geoip projet par défaut. Vous devez ajouter votre nouvelle dépendance pour votre fichier afin d'accéder à GeoIP.

De combien de fichiers pom.xml ai-je besoin?

Dépend vraiment de la structure globale de votre projet. Vous devriez probablement jeter un coup d'oeil aux réponses de ce SO question et jeter un coup d'oeil à this example de plusieurs fichiers de maven pour un projet.

Est-ce que le projet MapReduce doit également être construit avec maven?

Non, mais je le recommande, cela vous simplifie la vie. Voici mes dépendances pour 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> 

Avec toutes les dépendances supplémentaires situées dans le Maven Repository for Hadoop.