Creazione di un progetto Java basato su Maven

Creare un progetto Java basato su Maven per scrivere un'applicazione MapReduce.

  1. Creare un progetto Maven. Ad esempio, creare un progetto denominato wordcountjava:
    mvn archetype:generate -DgroupId=org.apache.hadoop.examples -DartifactId=wordcountjava -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    Questo comando crea una directory con il nome specificato dal parametro artifactID (wordcountjava in questo esempio). Questa directory contiene gli elementi seguenti:

    • pom.xml: il modello POM (Project Object Model) che contiene informazioni e dettagli di configurazione utilizzati per creare il progetto.
    • src\main\java\org\apache\hadoop\examples: contiene il codice dell'applicazione.
    • src\test\java\org\apache\hadoop\examples: contiene il codice di test.
  2. Aggiornare pom.xml con le dipendenze richieste:
    1. Per aggiungere le dipendenze, aggiungere il testo seguente nella sezione <dependencies> di pom.xml:
      <dependency>
      
      
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapreduce-client-common</artifactId>
          <version>3.3.3</version>
          <scope>provided</scope>
      </dependency>
      <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>3.3.3</version>
          <scope>provided</scope>
      
      
      </dependency>
      Nota

      La versione <version> utilizzata deve corrispondere alla versione di Hadoop nel cluster Big Data Service.
  3. Aggiungere altre configurazioni e plugin richiesti a pom.xml.

    Nell'esempio seguente, il plugin ombreggiato viene aggiunto per raggruppare tutti i file jar a cui si fa riferimento nelle dipendenze (a parte l'ambito fornito) insieme al plugin di build maven.

    <build>
    
        <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.3</version>
            <configuration>
            <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer">
                </transformer>
            </transformers>
            </configuration>
            <executions>
            <execution>
                <phase>package</phase>
                    <goals>
                    <goal>shade</goal>
                    </goals>
            </execution>
            </executions>
            </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
            <source>1.8</source>
            <target>1.8</target>
            </configuration>
        </plugin>
        </plugins>
    </build>
  4. Salvare il file pom.xml.