Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Apache Maven で Hadoop を管理する方法

プロジェクト管理ツールである 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 で管理するのに必要なファイルが作成されるので、あとはインポートしてやればいい。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
10
Help us understand the problem. What are the problem?