Hadoop 上で処理を行うためのアプリケーションには、以下の種類があります。
MapReduce アプリケーション
Hadoop の MapReduce フレームワーク上で動作する Java プログラムを、Hadoop API を利用して開発します。
Hive クエリ
Hadoop API を利用することなく、The Apache Software Foundation で開発された Apache Hive を利用して、SQL 相当の言語(HiveQL)で記述するクエリです。
Pigスクリプト
Hive と同様に、Hadoop API を利用することなく、Pig Latin 言語を利用したスクリプトを記述します。
HBase アプリケーション
HBase に対するデータ入出力、HBase 上のデータに対する操作を行う Java プログラムを、HBase API を利用して開発します。
参考
インストール先ディレクトリ
上記に示すアプリケーションは、マスタサーバ、スレーブサーバ、および開発実行環境サーバの下記ディレクトリにインストールされます。
アプリケーション | インストールディレクトリ | マスタサーバ | スレーブ | 開発実行環境 |
---|---|---|---|---|
MapReduce | /usr/bin(コマンド) /usr/share/hadoop(ライブラリ) /etc/hadoop(設定ファイル) | ○ | ○ | ○ |
Hive | /usr/lib/hive-{バージョン} /etc/hive(設定ファイル)(*1) | × | × | ○ |
Pig | /usr/bin(コマンド) /usr/share/pig(ライブラリ) /etc/pig(設定ファイル) | × | × | ○ |
HBase | /usr/lib/hbase-{バージョン} /etc/hbase(設定ファイル)(*2) | ○ | ○ | ○ |
○:インストールされます。
×:インストールされません。
*1:/etc/hive はシンボリックリンクであり、実体は /usr/lib/hive-{バージョン}/conf です。
*2:/etc/hbase はシンボリックリンクであり、実体は /usr/lib/hbase-{バージョン}/conf です。
以降、MapReduce アプリケーションの開発について説明します。その他のアプリケーション開発については、Apache Hadoop プロジェクトのWebページ等を参照してください。