MavenベースのJavaプロジェクトの作成
MapReduceアプリケーションを記述するMavenベースのJavaプロジェクトを作成します。
-
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
: テスト・コードが含まれます。
-
pom.xml
を必要な依存関係で更新します。- 依存関係を追加するには、
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のバージョンと一致する必要があります。
- 依存関係を追加するには、
-
その他の必要な構成およびプラグインを
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>
-
pom.xml
ファイルを保存します。