LoginSignup
12
10

More than 5 years have passed since last update.

Apache Maven で Hadoop を管理する方法

Last updated at Posted at 2012-05-23

プロジェクト管理ツールである Apache Maven で Hadoop MapReduce プログラムを管理する方法について。今回作成したプロジェクトは github で公開している。

手順

1. プロジェクトの作成

まずはじめにプロジェクトを作成する。

$ mvn archetype:create -DgroupId=org.holidayworking -DartifactId=hadoop-maven-sample

引数で指定している group-id にはプロジェクトのルートパッケージ名、artifactId にはプロジェクト名を指定する。今回はルートパッケージ名を org.holidayworking、プロジェクト名を hadoo-maven-sample としている。

2. pom.xml の編集

ライブラリとして hadoop-core.jar が必要となる。今回は Cloudera から公開しているレポジトリから入手するようにする。

pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.holidayworking</groupId>
  <artifactId>hadoop-maven-sample</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>hadoop-maven-sample</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

   <repositories>
    <repository>
      <id>cloudera</id>
      <url>https://repository.cloudera.com/content/repositories/releases/</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-core</artifactId>
      <version>0.20.2-cdh3u2</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

3. プログラミング

適当な処理をするプログラムを作成する。

4. プログラムの実行

jar を作成してから、hadoop コマンドで実行する。

$ mvn clean package
$ hadoop jar target/hadoop-maven-sample-1.0-SNAPSHOT.jar org.holidayworking.WordCount CHANGES.txt output

補足

Eclipse にインポートするには?

Eclipse に下記のパッケージをインストールしておく。

  • m2e - Maven Integration for Eclipse
  • m2e - slf4j over logback loggin (Optional)

そして、プロジェクトのディレクトリで下記のコマンドを実行する。

$ mvn eclipse:eclipse

すると、Eclipse で管理するのに必要なファイルが作成されるので、あとはインポートしてやればいい。

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10