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 を利用して開発します。
Mahout アプリケーション
Hadoop 上で実行できる機械学習アルゴリズムを、Hadoop APIとMahout APIを利用して開発します。
参考
インストール先ディレクトリ
上記に示すアプリケーションは、マスタサーバ、スレーブサーバ、および開発実行環境サーバの下記ディレクトリにインストールされます。
アプリケーション | インストールディレクトリ | マスタサーバ | スレーブ | 開発実行環境 |
---|---|---|---|---|
MapReduce | /usr/bin(コマンド) /usr/share/hadoop(ライブラリ) /etc/hadoop(設定ファイル) | ○ | ○ | ○ |
Hive | /usr/lib/hive (*1) /etc/hive(設定ファイル)(*1) | × | × | ○ |
Pig | /usr/lib/pig (*1) /etc/pig(設定ファイル)(*1) | × | × | ○ |
HBase | /usr/lib/hbase (*1) /etc/hbase(設定ファイル)(*1) | ○ | ○ | ○ |
Mahout | /usr/lib/mahout (*1) | × | × | ○ |
○:インストールされます。
×:インストールされません。
*1:シンボリックリンクです。
注意
Hive、Pig、Hbase、Mahoutを実行する場合、環境変数の設定が必要となります。
設定方法については、「12.1.3 OSS実行時の環境変数の設定」を参照してください。
参考
上記に示すアプリケーション以外でも、Hadoop API を利用せずに実装された外部プログラムを、HadoopのMapReduceフレームワーク上で動作させることが可能です。
詳細については「第11章 外部プログラム並列実行機能の使い方」を参照してください。
以降、MapReduce アプリケーションの開発について説明します。その他のアプリケーション開発については、Apache Hadoop プロジェクトのWebページ等を参照してください。