More Related Content
Similar to ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち (20)
More from AdvancedTechNight (20)
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
- 1. Advanced Tech Night No.01
MapReduceだけでない!?
Hadoopとその仲間たち
2011/04/22
Acroquest Technology 株式会社
束野 仁政
- 2. 自己紹介
束野 仁政(つかの さとゆき) @snuffkin
Acroquest Technology 株式会社
ネットワークマネージメントソリューショング
ループ
エンジニアリングデザイナー
仕事内容
1. Network Management Systemの開発が中心
2. 何でもネットワークにつながり、大量データ処理を求め
られる時代。そこで、眼を付けているのがHadoop
趣味
スポーツ観戦(生観戦の臨場感が好き)
特徴
声が高い。飲むと、ますます高くなる。
1
Advanced Tech Night
- 5. 目次
1. 動機 5. 応用プロダクト
2. Hadoop概要のおさら 1. Pig
い 2. Mahout
3. プロダクト構成 3. Sqoop
1. ディストリビューショ 4. Flume
ン
6. 組合せてできること
2. プロダクト一覧
4. 基本プロダクト 7. 最後に
1. HDFS
2. MapReduce
3. HBase
4. Hive 4
Advanced Tech Night
- 6. 1. 動機
1. Hadoopが紹介された当初は
「Hadoop = MapReduce(+HDFS,HBase)」
という感じだった。
2. 大御所Clouderaを始め、Hadoopは周辺プロダ
クトが数多く開発されており、これらプロダク
トを使った成果が次々と出ている。
3. ここでは、
「Hadoopには、どんなプロダクトがあるか」
「組合せることで、どんなことができるのか」
を紹介する。
5
Advanced Tech Night
- 8. 3. プロダクト構成 (1)ディストリビュー
ション
1. Hadoopは、複数のプロダクトで構成されている
Hadoop≠MapReduce
2. Hadoopは、複数のディストリビューションがある
① Apache(http://hadoop.apache.org/)
→本家コミュニティ。
② Cloudera社(http://www.cloudera.com/)
→エンタープライズ利用/簡単適用可能なパッケージを提
供。
③ Yahoo!社(http://developer.yahoo.com/hadoop/)
→Yahoo!自身で使用実績のある版。セキュリティなどを強
化。
7
Advanced Tech Night
- 9. 3. プロダクト構成 (1)ディストリビュー
ション
1. Cloudera社が提供するHadoopディストリビュー
ション
CDH=Cloudera's Distribution for Hadoop
Hue Hue SDK
Oozie Hive
Pig/
Hive
Flume, Sqoop HBase
Zookeeper
8
Advanced Tech Night
- 10. 3. Hadoopプロダクト構成 (2)プロダクト一
覧
No. プロダクト 概要 Apache Cloudera
名
1 Common Hadoopで共通利用するライブラリ、API ○ ○
2 HDFS 分散ファイルシステム ○ ○
3 MapReduce 分散処理エンジン ○ ○
4 HBase HDFS上で動作するKey-Value Store ○ ○
5 Zookeeper Hadoop処理のコーディネータ ○ ○
6 Hive SQLライクにHDFS上のデータを取得・加工す ○ ○
る
7 Pig 注目! データ処理を簡単に記述するための言語I/F ○ ○
8 Mahout 機械学習ライブラリ ○ -
9 Avro 高速シリアライズ処理/RPCインタフェース ○ -
10 Chukwa 分散大量データ収集インフラ ○ -
11 Oozie ワークフローエンジン/スケジューラ - ○
12 Sqoop RDBMSとHDFSのインポート/エクスポート - ○
13 Flume 注 分散大量データ収集インフラ - ○
目!
9
14 Hue Hadoopクラスタの状況を表示するUIツール
Advanced Tech Night - ○
- 11. 4. 基本プロダクト
No. プロダクト 概要 Apache Cloudera
名
1 Common Hadoopで共通利用するライブラリ、API ○ ○
2 HDFS 分散ファイルシステム ○ ○
3 MapReduce 分散処理エンジン ○ ○
4 HBase HDFS上で動作するKey-Value Store ○ ○
5 Zookeeper Hadoop処理のコーディネータ ○ ○
6 Hive SQLライクにHDFS上のデータを取得・加工す ○ ○
る
7 Pig 注目! データ処理を簡単に記述するための言語I/F ○ ○
8 Mahout 機械学習ライブラリ ○ -
9 Avro 高速シリアライズ処理/RPCインタフェース ○ -
10 Chukwa 分散大量データ収集インフラ ○ -
11 Oozie ワークフローエンジン/スケジューラ - ○
12 Sqoop RDBMSとHDFSのインポート/エクスポート - ○
13 Flume 注 分散大量データ収集インフラ - ○
目!
10
14 Hue Hadoopクラスタの状況を表示するUIツール
Advanced Tech Night - ○
- 12. 4. 基本プロダクト (1)HDFS
1. HDFSは、Hadoopが用いる分散ファイルシ
ステム
2. Master/Slave方式で実現されている
① Master:Namenode 全体で1プロセス
② Slave:Datanode 各ノードに1プロセスMaster
設定ファイルに記述してお
くだけで、自動的にData
replicationが実行される。 Slave
11
Advanced Tech Night
- 13. 4. 基本プロダクト (2)MapReduce
1. MapReduceは、大量のデータをキーなどの情報で分
散し、多数のサーバで並列処理を行うフレームワー
ク
2. サーバを増設することで、処理性能を向上させるこ
とができる
12
Advanced Tech Night
- 14. 4. 基本プロダクト (3)HBase
1. HDFS上に構築されたKey-Value Store
2. 自動でレプリカが作成されるため、ある
ノードでデータが壊れても、別のノードの
データで処理が可能。
3. TB~PBの大規模データの処理が可能。
13
Advanced Tech Night
- 15. 4. 基本プロダクト (4)Hive
1. SQLライクにHDFS上のデータを操作するためのコン
ポーネント。
2. コマンドラインからの対話形式による操作で、以下
のことが可能。
① SQLと同様、CRUDが可能。
② Hive用テーブルを操作するだけでなく、HDFSのファイ
ルや、HDFS管理外のローカルファイルにもデータの保
存が可能。
※ HiveQLという言語でデータを操作する。
http://www.atmarkit.co.jp/fdb/single/s_hive/hive_01.html
14
Advanced Tech Night
- 16. 5. 応用プロダクト
No. プロダクト 概要 Apache Cloudera
名
1 Common Hadoopで共通利用するライブラリ、API ○ ○
2 HDFS 分散ファイルシステム ○ ○
3 MapReduce 分散処理エンジン ○ ○
4 HBase HDFS上で動作するKey-Value Store ○ ○
5 Zookeeper Hadoop処理のコーディネータ ○ ○
6 Hive SQLライクにHDFS上のデータを取得・加工す ○ ○
る
7 Pig 注目! データ処理を簡単に記述するための言語I/F ○ ○
8 Mahout 機械学習ライブラリ ○ -
9 Avro 高速シリアライズ処理/RPCインタフェース ○ -
10 Chukwa 分散大量データ収集インフラ ○ -
11 Oozie ワークフローエンジン/スケジューラ - ○
12 Sqoop RDBMSとHDFSのインポート/エクスポート - ○
13 Flume 注 分散大量データ収集インフラ - ○
目!
15
14 Hue Hadoopクラスタの状況を表示するUIツール
Advanced Tech Night - ○
- 17. 5. 応用プロダクト (1)Pig
1. MapperやReducerを記述しなくとも大規模データを処理
できるスクリプト言語。
2. Pigを実行すると、裏でMapReduceのジョブに変換される
ので、MapReduceのジョブを実装せずに、簡単に分散処
理を実行できる。
データフローなど、
複雑な処理を行う
場合はPig、簡単な
データ操作を行う
場合はHiveを使用
するとよい。
16
Advanced Tech Night
- 18. 5. 応用プロダクト (1)Pig
1. サンプル(年間最高気温を求める)
① データファイル
ファイル名:temperature.csv フォーマット:年 月 日 気温
2000 1 1 5
2000 1 2 6
2000 8 1 30
…
2010 12 31 5
② スクリプト
records = LOAD ‘temperature.csv’ AS (year:int, month:int, day:int, temperature:int);
grouped_records = GROUP records by year;
max_tempepature = FOREACH grouped_records GENERATE group, MAX(records.tempetature);
DUMP max_temp;
17
Advanced Tech Night
- 19. 5. 応用プロダクト (2)Mahout
1. Hadoop上で動作する機械学習ライブラリ
① 実装している機械学習アルゴリズムの例
• Taste CF(協調フィルタリング)
• MapReduce に対応した、いくつかのクラスタリング実装
(K平均法、ファジィK平均法、Canopy、ディリクレ、平均シ
フトなど)
• 分散型単純ベイズ分類器と補完型単純ベイズ分類器の実装
• 進化的プログラミングのための分散型適応度関数機能
• 行列ライブラリーとベクトル・ライブラリー
② 具体的な用途
• リコメンドエンジン
• スパムメール・フィルタリング
2. 機械学習のタスク実行にMapReduceを用いるこ
とでスケーラビリティを確保している。
18
Advanced Tech Night
- 20. 5. 応用プロダクト (3)Sqoop
1. RDB-HDFS間でデータのコピーを行うため
のツール。
2. RDBからHDFSにデータをインポートし、
Hiveを使って解析する、といった使い方が
可能。
19
Advanced Tech Night
- 21. 5. 応用プロダクト (4)Flume
1. 分散環境での大量データ収集のインフラ
① データマイニング等の分野において、agentか
らデータをHDFSに収集する必要がある。
② Flumeは、信頼性・スケーラビリティの高い
データ収集インフラを提供する。
20
Advanced Tech Night
- 22. 6. 組合せてできること
大量データ収集と解析
1. センサーネットワークから大量のデータを収集する。
2. 収集したデータの解析を行う。
→ Flume – HDFS – Pig を組合せることで、実現でき
る
適用例
1. センサーネット
ワークからの
データ収集・解
析
2. 大規模システム
のログ収集・解
析
21
Advanced Tech Night
- 24. 8. 最後に
Enjoy Your Hadoop Life!
ご静聴ありがとうございまし
た。
23
Advanced Tech Night