MavenベースのJavaプロジェクトの作成

MapReduceアプリケーションを記述するMavenベースのJavaプロジェクトを作成します。

  1. Mavenプロジェクトを作成します。たとえば、wordcountjavaという名前の投影を作成します。
    mvn archetype:generate -DgroupId=org.apache.hadoop.examples -DartifactId=wordcountjava -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    このコマンドは、artifactIDパラメータで指定された名前(この例ではwordcountjava)でディレクトリを作成します。このディレクトリには次の項目が含まれます。

    • pom.xml: プロジェクトの作成に使用される情報および構成詳細を含むプロジェクト・オブジェクト・モデル(POM)
    • src\main\java\org\apache\hadoop\examples: アプリケーション・コードが含まれます。
    • src\test\java\org\apache\hadoop\examples: テスト・コードが含まれます。
  2. pom.xmlを必要な依存関係で更新します。
    1. 依存関係を追加するには、pom.xml<dependencies>セクションに次のテキストを追加します。
      <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>
      ノート

      使用する<version>は、ビッグ・データ・サービス・クラスタのHadoopのバージョンと一致する必要があります。
  3. その他の必要な構成およびプラグインをpom.xmlに追加します。

    次の例では、シェーディングされたプラグインが追加され、mavenビルド・プラグインとともに、依存関係で参照されているすべてのjarが(指定されたスコープとは別に)バンドルされます。

    <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. pom.xmlファイルを保存します。