Mobile Growth Summit 2017 Tenjin data warehouse presentation
第一回Hadoop会at tenjin 20100625
-
Upload
osaca-z4 -
Category
Technology
-
view
4.193 -
download
4
description
Transcript of 第一回Hadoop会at tenjin 20100625
第1回 Hadoop会 @ Tenjin
クラウドのコア技術
Hadoooopについて
2010年06月25日橋本 司
2010年6月27日日曜日
分散処理
2010年6月27日日曜日
分散処理とはどういったものか
分散処理
1台で5時間かかる処理を5台で行えば、1時間で終わる
1台の処理量を 1/5 にする
1時間
5時間
3
2010年6月27日日曜日
分散処理の利点 分散処理を行う事でどういった利点があるか
○ 処理の高速化 → 処理を早く終わらせる事ができる 例) Yahoo!の試験 分散処理 5分34秒 19台
従来の処理 6時間6分35秒 1台○ リスク分散 → 障害リスクを軽減できる
一台停止しても処理続行できる
4
2010年6月27日日曜日
分散処理の代表例 分散処理を採用/提供している企業
Google MapReduce Googleが論文で発表したモデル
Yahoo! Hadoop MapReduceモデルを元にオープンソースとして開発が進められたもの
Amazon Hadoop Elastic MapReduceとして提供
Microsoft Dryad Bing(ビング)で活用Windows Azureに組み込まれると言われている
5
2010年6月27日日曜日
並列/分散といえば点 スパコンではMPI
MPI=Message Passing Interface
問題点
実装の難易度高い耐障害性も自分でチェックポイントを設けて対処
通信パターンの考慮も必要で工数増大
6
2010年6月27日日曜日
Hadoop
2010年6月27日日曜日
OSSの分散プラットホーム Hadoopとは
簡単 比較的簡単に導入できる安価 特殊なハードウェアを必要としない
高いスケーラビリティ 効率的に拡張が可能
大量データを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォーム
8
2010年6月27日日曜日
9
プログラミングモデル Hadoopで使われるプログラミングモデル
MapReduce
・Map … 置換処理・Reduce … まとめ処理開発者はMap関数とReduce関数を記述するだけで実装可能
2010年6月27日日曜日
10
システム構成例 Hadoopのインストール環境
必要な環境分散処理 Apache Hadoop
JDK Java5以降
OS Ubuntu、Fedoraなど
OS
JDK
分散処理
アプリケーション
特殊な環境は必要なく、Linux系のOSにJDKという環境そこにHadoopだけで実行環境が整う
2010年6月27日日曜日
11
サーバー構成 Hadoopのサーバー構成
Master Slave 1
Slave 2
jobtracker
tasktracker
tasktracker
MasterからSlaveへjob trackerがjobを分割したtaskを分配
task trackerはtaskを処理
各ノード間の通信で空のパスワードでのssh通信が必要
jarとデータをセットで渡す
2010年6月27日日曜日
Hadoopファミリー Hadoopの仲間たち
HDFS
HBase MapReduce
Pig HiveZookeeper Mahout
Avro
Chukwa
12
2010年6月27日日曜日
Hadoopの用途
2010年6月27日日曜日
14
利用範囲 Hadoopが活躍するアプリケーション
大規模データ(数G~数Tバイトやそれ以上)を扱う処理サイト巡回や巡回結果の解析大量のデータを解析する経営分析夜間処理などのバッチ処理
データマイニング、クラスタリング、情報検索、文章要約
医療データ、気象データなどの解析WikiPedia、ソーシャルメディアなどの解析
RelationalDataBase(RDB)の代替システム
特定のデータベースベンダーからの脱却KeyValueStoreなどNoSQL
2010年6月27日日曜日
アカデミック視点 アカデミックな視点からみたHadoop利用
15
2010年6月27日日曜日
MapReduceの説明へ
2010年6月27日日曜日
17
MapReduceとは Hadoopで使われるプログラミングモデル
MapReduce
・Map … 置換処理・Reduce … まとめ処理開発者はMap関数とReduce関数を記述するだけで実装可能
2010年6月27日日曜日
18
MapReduce
MapReduceの基本的な動き
[hoge, 1][hoge, 1][hoge, 1][fuga, 1][fuga, 1]
[hoge, [1, 1, 1]][fuga, [1, 1]]
hoge, hoge, hoge, fuga, fuga
Map Reduce
[hoge, 3][fuga, 2]
[hoge, [1, 1, 1]][fuga, [1, 1]]
key value
複数のTaskで処理を分散実行
input
output
Shuffle & Sort協調動作複数のTaskで
処理を分散実行
2010年6月27日日曜日
MapReduceの入出力 HDFS上のファイルとKey Valueデータ
HDFS
XML、CSVなどのファイル
MapReduce
KeyとValueペアMap
KeyとValueペアReduce
TextInputFormat
TextOutputFormat
19
2010年6月27日日曜日
多段のMapReduce
2010年6月27日日曜日
多段MapReduce
複数MapReduceを組み合わせ可能
KeyValueMap Reduce
Job1
Input
Output
Map Reduce
Job2
21
2010年6月27日日曜日
多段の例「Grep」をみる Hadoopサンプル「Grep」の動作
$ hadoop jar hadoop-example.jar grep [入力ファイル] [出力先 ] [正規表現]
引数
Map
Reduce
行の読み込み正規表現での抽出
カウント
Map
Reduce
KeyとValueの入替
文字列生成
入力ファイル
出力ファイル22
grep-serch Job grep-sort Job
2010年6月27日日曜日
「Grep」ソース解説Hadoopサンプル「Grep」の動作
23
2010年6月27日日曜日
MapReduceの活用
2010年6月27日日曜日
Wikipediaの解析を行うプログラムを作成
2010年6月27日日曜日
Wikipediaデータの解析 Wikipedia解析ツール
Wik-IE リンク取得機能、リンク間情報など情報抽出機能を持つツール
26
WikiのWebサイト
圧縮されたXML
Wik-IE
D/L エントリーIDと 文章文字列の抽出
Map
Mapから渡された KeyValueを ファイルへ出力
Reduce
HDFS
HDFS
解析結果CSV
2010年6月27日日曜日
Hadoopの可能性
2010年6月27日日曜日
既存システムとの連動を想定したシステム構成
28
想定システム構成
Hadoop
分散処理
add 中間層
既存システム
既存システムとHadoopを結ぶ機能重要な開発ポイント
OUTPUT
データベース
BI (経営分析等)集計
データ収集データレプリケート
2010年6月27日日曜日
vision of Hadoop-based Application
29
Hadoop Application
BigTable
store
Hadoop
internet
internalexternal
crawl
data replicateKVS
2010年6月27日日曜日
Hadoopの実例紹介
2010年6月27日日曜日
Hadoop実例 実例紹介
31
Yahoo! ログ解析、レコメンデーションなど
Facebook DWHとして利用、Hive
VISA リスク分析
楽天 商品のレコメンデーション
クックパッド マーケティングデータの解析に利用
はやぶさ 科学衛星運用解析
2010年6月27日日曜日
32
今後の課題 Hadoopの今後の課題
・SQLとの親和性
・既存システムとのシームレスな連携
・技術者育成
・運用監視ツール
・開発/デバッグツール
・認証方法の確立
・帯域を占有してしまう2010年6月27日日曜日
Hadoopビール Hadooper垂涎のHadoopビール
33
2010年6月27日日曜日