SlideShare ist ein Scribd-Unternehmen logo
1 von 120
Downloaden Sie, um offline zu lesen
© 2013 IBM Corporation
Hadoop meets SQL – Big SQL
InfoSphere BigInsights v2.1
IBM Hadoopソフトウェア・テクノロジー
© 2013 IBM Corporation
2
本日の内容
お知らせ
Hadoopとは
InfoSphere BigInsightsの概要
Big SQLデモ
© 2013 IBM Corporation
3
お知らせ:クイックスタート・エディションは無償で利⽤可能
非商用環境において、無期限・サイズ無制限で利⽤可能。
-提供形態:バイナリー版(インストーラー)⇒クラスタ環境構築可能
VMイメージ (本日のデモで使います)
ここから
ダウンロード
ダウンロード:http://www.ibm.com/software/data/infosphere/biginsights/quick-start/index.html
© 2013 IBM Corporation
4
© 2013 IBM Corporation
5
超⼤容量のファイルを
⼀気に全て処理するための
分散ファイルシステムと
バッチ処理システムの組合せ
作り込みが必要だが多様な目的に利⽤可
オープンソース Apache Software Foundation
(http://hadoop.apache.org)
Hadoopとは?
© 2013 IBM Corporation
6
Hadoopの仕組みとコンセプト
•「⼤量データ」を扱う、分散処理フレームワークの仕組み
• HDFS・MapReduce
•Hadoopのコンセプト
• スケール・アップではなく、
スケーラビリティ重視のスケールアウト型
• 障害が発生することが前提(エラー忘却型)
• データに対してプログラムを移動させる(ローカリティ)
• レイテンシー(応答時間)ではなく、スループット重視
• システムレベル(分散)の隠ぺい
© 2013 IBM Corporation
7
Hadoop処理の概念(ざっくり)
1台のサーバで
処理をするよりも、
複数台のサーバで1つの処理を
分割して処理する⽅が効率的
という考え⽅。
Webサーバログ等
RDB
Webサーバログ、準構造化データ等を事前に
分割配置(HDFS)・・・・プログラムをデータ側へ。
RDB
20分 5分 5分 5分 5分
© 2013 IBM Corporation
8
問題は単純:ハードディスクの高速化が追い付いていない
– Seagate社の資料によるHDDの容量と転送速度
• 1990年 1.37GB ÷ 4.4MB/s = 311s =5分
• 2010年 1000GB ÷ 100MB/s = 10000s =2.7時間
– HDD1台の全データを読み出すのに3時間近くかかる
100台のHDDに分散する?
– ハードウェア障害への対処が必要
• 故障率は⼀気に100倍
– 分散されたデータの結合をどう⾏うか?
シンプルに言えば、この課題をHadoop-MapReduceと
HDFS-で解決する
データの保管と分析上の問題
これって
DBMSでは解決
できない?でき
る?Hadoopだ
けが選択肢?
© 2013 IBM Corporation
9
なぜ、分散させるのか?
• 分散させる理由
• ⼤量データ処理では、ディスクIOがボトルネックになる。
• 分散させたデータは、保持しているサーバー自身が、それぞれ処理(読み込み、書き出
し)する ⇒「ローカリティ」という重要なコンセプト!
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
分散サーバ⽅式
(シェアード・ナッシング⽅式)
1台のサーバで処理をすると、
ディスクIOが原因で全てのCPU
を効率的に使えないことがある。
複数台のサーバで処理をすると、ディス
クIOが原因になりにくくなり、全ての
CPUをより効率的に使える。
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
共通
ストレージ
CPUを使い
切れない
ディスク
IOネック
© 2013 IBM Corporation
10
Hadoopにおける分散処理のポイント
• 分散させる3つの理由
• ⼀般的なサーバを並べる <経済性>
• 台数の増減が可能 <スモール・スタート/拡張性>
• 内蔵ディスクをストレージとして、巨⼤なファイルを保存する
<高価なストレージ必要なし>
スケールアップ(CPUを増やす)では、
価格・性能限界がある。
※OLTP処理にはDBは必ず必要です。
DBがいらいないと言っているわけではありません。
⼀般的なサーバ複数台で処理をする
のが、Hadoopそもそもの考え⽅。
CPUを2倍に
しても処理性
能が2倍にな
らない 分散させすぎて
も付加増⼤にな
るので注意
© 2013 IBM Corporation
11
他のシステムとの比較:RDBMS
得意苦手全件処理
直線的非直線的
スケイラビリ
ティ
動的なスキーマ
(半・非構造化データ)
静的なスキーマ
(構造化データ)
構造
書きこみは⼀度で、
読み出しは何度も⾏われる
何度も読み書きされる更新
バッチ
オンラインも
バッチも可
アクセス
テラ〜ペタバイト〜テラバイト+データサイズ
Hadoop
(⼀般的な考えの)
RDBMSSometimes termed “Schema First” or
“Schema-on-Write”
Sometimes termed “Schema Later” or
“Schema-on-Read”
ここではわかりやすいように主観的な比較をしています。
© 2013 IBM Corporation
12
Hadoopとは何か?
ジョブと呼ばれるアプリケーションを
ペタバイト級のデータを処理可能なコモディティーなハードウェアによる
⼤きなクラスター上で実⾏するためのフレームワーク
– コモディティーなハードウェア : Intel x86互換の比較的安価なPCサーバー
でというのがもともと。
HDFSという名の分散ファイルシステムを提供する。複数のノードにデータを分散し、ク
ラスター全体で高スループットを提供する。
Map/Reduceと呼ばれる演算パラダイムを実装する。アプリケーションはタスク単位に
分割され、クラスター上のデータの存在するノード上にて実⾏される
アプリケーションに高信頼性と透過的なデータ処理を与えるフレームワークで
データローカリティーを保証する
個別ノードの障害対応は自動的にフレームワークに
より対処される。
※ノード障害が発生したら、直さないと止まってしまうシステムではない、
ということ。
© 2013 IBM Corporation
13
データローカリティーとは?
⼀般にプログラムは巨⼤データに比べると無視できるくらい小さい
現在のコンピュータはCPUに比べサーバー同士を繋ぐネットワークは
とても遅い
分散システムにおいて、データではなく、プログラムを移動するほう
がネットワーク通信コストが格段に低い
ボトルネックを解消することで処理全体が
速くなる
処理対象のデータが物理的に存在するノード
にて処理を実⾏する仕組を
データローカリティーと言う
Hadoopは分散ファイルシステムにて巨⼤
ファイルを分割して等しく分布させ、
処理対象のデータが存在するノードに
プログラムを転送し、処理を実⾏する
ため高速に分散処理が可能となる、
という考え⽅。
© 2013 IBM Corporation
14
2002年
– Doug CuttingとMike CafarellaがOSSの検索エンジン開発を目的として
WebクローラーNutchの開発開始
2003年
– Googleが自社検索エンジンで使⽤する分散ファイルシステム、
GFS論⽂公開
2004年
– 二人がGFSの論⽂を元にNDFS(後のHDFS)開発
– GoogleがMapReuduce論⽂公開
2005年 NutchにMapReduceを実装
2006年 NutchからHadoopとして独⽴
→ もともとHadoopは、Google基盤システムについて記載された論⽂を元に、実
装を⾏い進化してきたもの
Hadoopにまつわる年表
© 2013 IBM Corporation
15
15
•Googleが提唱したテクノロジーを、Yahoo!が実装、
Apacheファンデーションに寄付。「⼤量データ」を
扱う、分散処理フレームワーク
•Hadoopの構成要素
• HDFS (Hadoop Distributed File System)
• 複数ノードのローカルファイルシステムを論理的に結合して、
1つの共有ファイルシステムを作成します。
• Hadoop MapReduce
• MapReduce と呼ばれる分散コンピューティングモデルに基
づくプログラムを Java で作成するためのフレームワークを
提供します。
MapReduceは単純な仕組
み。Googleが⼤規模デー
タ処理を実現し、その有⽤
性を具現化したYahoo!の
貢献は⼤きいといえます。
このように分散処理への取
り組みのハードルを低くし
たといえます。
© 2013 IBM Corporation
16
16
Hadoopがなぜ開発されたか?
• Googleに代表されるインターネット・サービスを提供する企業
は、検索インデックス作成や、Webサーバのアクセスログなど
の解析のようなレコード単位の単純な処理を⼤量データに対して
処理を⾏う作業が必要です。
• 今までは、このような処理は対象データを分割し、複数サーバで、
それぞれ処理を⾏い、結果を集計するという分散処理を⾏い処理
時間を短くしていました。
• Googleでは、このような処理を自動化できないか?という目的
で独自処理フレームワークを開発しました。このフレームワーク
では、各レコードに対する処理指⽰を記述するMAP関数と、そ
の結果を集計するREDUCE関数を記述すると、上記の分散処理
と集計が自動的に⾏われます。
• Googleが、このフレームワーク概要をMapReduceという呼び⽅
をし紹介しました。そして、Yahoo!がこのフレームワークを
Hadoopとして実装しました。
© 2013 IBM Corporation
17
参考:日経コンピュータからの抜粋
© 2013 IBM Corporation
18
Hadoopの特徴
バッチ処理に威⼒を発揮
– 従来数時間〜数日要していた処理を短時間で処理
– 処理を分割して複数のサーバで分散処理を実⾏
高いスケーラビリティ
– 容易にスケールアウトが可能
– サーバ増設で格納容量,処理性能を向上
– 数台〜4000台程度までのHadoop環境を構築可能
特定のサーバが故障してもサービス継続
– データは分割・分散配置
– 処理に異常が発生する場合は、他サーバで再実⾏
コモディティな製品で構成可能
– 10〜50万円/ノード(ディスク容量当たりのCPU&メモリを安価に)
– 特定ベンダの特別な製品は不要
敷居が高かった分散並列処理を⼀般業務に安全に利⽤できるようになった
(並列化に考慮するが分散の意識不要)
出典:O’Reily,Hadoop第2版,OSC2012 DB(2012年7月)日本Hadoopユーザー会講演より(⼀部補筆)
© 2013 IBM Corporation
19
参考:Hadoopに対してよくある誤解(不得意)
誤解1: (RDBMSのような)高速なデータアクセス
– ミリ秒単位の処理をHadoopに求めてはいけない
※ただし、このリアルタイム化が進んでいます。
※HBaseも(少量ならHiveも)それなりのレスポンスタイムが実現できるケースがあります。
誤解2: ⼤量の小さなファイル
–Hadoopは小さなファイルを扱うのが苦手である
誤解3: 複数のライターからの書き込みや,任意のファイル
修正
–書き込みは常にファイルの末尾に⾏われる
–複数ライターのサポートはない
◎⼤量データに特化したバッチシステム
–オンライン処理は不向き(スループット優先)
–データは⼤きな塊として扱うことが望ましい
出典:O’Reily,Hadoop第2版,OSC2012 DB(2012年7月)日本Hadoopユーザー会講演より(⼀部補筆)
© 2013 IBM Corporation
20
Hadoop/MapReduce が向いている」もの
• 日々膨張する蓄積データ
• 毎日数百GBずつ生成されるログのようなデータへの対応ができる
• HDFSならサーバを買い足して増強できる
• IO ボトルネックで⻑時間かかるジョブがある
• シェアードナッシングによる分散処理での解決可能性
• ⼤量データを同時処理し、ソートやマージ処理がくり返される
• MapReduceはそのためのフレームワーク
※個別処理なら、別の選択肢もありえることを忘れない!
• 準構造化・非構造化データ
• 今はMapReduceに向いていないが、将来、蓄積された処理結果を
統計分析などする可能性がある
• 最初から、蓄積先をHDFSに入れ、MapReduceで分析するとよいのでは?
データが分割、
処理が分割で
きることが前
提
アーカイブと
して利⽤する
のは、コスト
的に?の場合
がある。
© 2013 IBM Corporation
21
Hadoop/MapReduce が向いていない」もの
• 少ないデータ量
• Hadoopは,TB/PBクラスのデータ量を処理することが前提。
• 基本的に100GB以上はほしい
• でも、数十GBなら、Hadoop分散処理効果は得られるはず →トライ&エラー
• ノウハウが必要(結局、うまくいかない場合もある)
• IO ボトルネックになっていない処理
• 分散させても、IOネックは関係はない。
• 処理の計算コストは分散低減(CPU負荷分散)はできる可能性はある。
• ×××× 処理の途中で更新がある。
• ×××× DBと同じトランザクション処理。
• ミッション・クリティカル・システムへの適応?(時期尚早?)
→ファイルシステム改善?Hadoopアプライアンス? IBMはこれらの課題をアドレスします。
• ×××× 応答時間を求められている処理(OLTP処理)。
• ×××× 分割をしたら、結果が変わる処理(MapReduceの特性の理解)。
• ×××× シーケンシャル番号を割り当てる処理(DBのSeqに相当)。
• ×××× 処理順序が厳密に求められる処理。
• 計算ノードからの応答は順不同
データが少な
いと、分割負
荷が相対的に
大きくなる
データが分割
処理ができる
ことが前提
途中での更新
はできない。
(Hbaseの活
用はできる)
© 2013 IBM Corporation
22
Hadoop基盤の特徴の理解が必要
Hadoopは、SWとHWの両面において「汎用化」を⾏うことで、相対的
に安価な基盤で、ユーザーの開発生産性を高めつつ、⼤容量データ処理
を実現しています。
データノード データノード データノード
MapReduce
B1
B2
HDFS
MapReduce
B3
B4
HDFS
Map
Shuffle
MapReduce
B5
B6
HDFS
TT TT TT
ネームノードJT
HDFS
メタデータ
Core Core Core Core
HDD HDD
mem
Core Core Core Core
HDD HDD
mem
Core Core Core Core
HDD HDD
mem
APL
(バッチ)
投入
Map
Shuffle
Reduce
Map
Shuffle
Reduce
ソフトウェア
ハードウェア
「コモディティ」なHWでの利⽤を前提とした設計
IAサーバー、内蔵SATAディスク、1GbEネッ
トワークなど…
「スケールアウト」による性能拡張
各ノードの性能を高めるより、同じスペックの
「安価な」ノードを追加することで性能向上
並列分散処理として汎⽤化できる部分をフレーム
ワークとして吸収(全てではない)
MapReduce、Hive… (IBMはJaql言語)
可⽤性、性能向上はソフトウェアの仕組みとして対応
HDFSのファイル分散、冗⻑化のよるデータ保護
障害時は、ノードごと交換する運⽤⽅針
© 2013 IBM Corporation
23
並列処理フレームワークである” MapReduce”と、⼤量データを格納す
るための専⽤分散ファイルシステム である“HDFS” から構成されます。
計算ノード 計算ノード計算ノード
Hadoop のアーキテクチャー概要
・・・
Hadoop Distributed Filesystem (HDFS)
計算ノード群(仮想的に1つのストレージに⾒える)
MapReduce
エンジンそれぞれノードから同じデータ
が参照可能。(実際のデータは、
各サーバーのローカルディスク
に分散配置)
MapReduce
エンジン
MapReduce
エンジン
管理ノード
JobTracker
MapReduce タスクをディスパッチ
(計算ノードの停止時には、タスクを再ディスパッチ)
Jobの実⾏を管理およびTaskの
ディスバッチを⾏う
内臓ディスク 内臓ディスク 内臓ディスク
© 2013 IBM Corporation
24
HDFSは仮想(アプリで実装された)
分散ファイルシステム
/
user
dir1 dir2 dir3
どのマシンからも同じ
ファイルが⾒られるが、
専⽤コマンドが必要
ファイルやディレクトリー
は専⽤のコマンドにて作成
© 2013 IBM Corporation
25
HDFS: アーキテクチャー
いわゆる中央
管理システム
© 2013 IBM Corporation
26
ネームノードとデータノード
マスター/スレーブ方式
– ネームノード (マスター)
• HDFSの名前空間を管理
• ファイルシステム内のツリーと、ツリー内の全ファイル及びディレクト
リーのメタデータをメモリー上にて管理
• SPOFのためHA等を⽤いた冗⻑化が必要
– データノード (スレーブ)
• ブロックの読み書き
• ネームノードに定期的に保管しているブロックリストを報告
• データノードが故障しても全体に影響がない
© 2013 IBM Corporation
27
参考:HDFSとは
〜Hadoop専⽤ファイル・システム〜
HDFS:(Hadoop Distributed File System)
– 複数台のマシンをN/W連結し、⼤きなストレージを形成している。⼤きなファイルを複数のスト
レージにまたがり格納することができる。
Name ノード(←これがSPOFがあると言われる所以。対応必要。NameノードとHDFSをHA化する取り組みも進んでいます)
– データノードに分散された実データのある場所を記憶する。
Secondary Nameノード
– メタデータの変更の際に記述された変更内容のジャーナルを元に、ファイルに保存されたメタデ
ータ情報を定期的に最新の状態に更新する。
– メタデータ情報を保存するファイルとエディットログファイルは、冗⻑性のために、各ノードの
ローカルファイルシステムとNFS マウントしたリモートディスクの2 箇所に保存する。
Data ノード
– HDFS独自のブロック転送プロトコルによりデータブロックを転送する。またHTTPによりデータ
を提供すること ができ、WEBブラウザ等のクライアントからのアクセスを処理できる。データ
ノード間はお互いに通信し、データ再配置、データコピー、冗⻑性維持を⾏うことができる。
データはファイル単位ではなくブロック単位で各ノードに分散される。
・
・
・
・
・
HDFSへデータを
分散保存
Data Node+Task Tracker Node
データ Map
Data Node+Task Tracker Node
Mapデータ
Data Node+Task Tracker Node
Shuffle
Data Node+Task Tracker Node
Reduce
Reduce
Data Node+Task Tracker Node
Reduce
結果
A
結果
B
結果
C
結果Shuffle
Nameノード
Shuffle
Job Tracker
Secondary Nameノード
実際のデータを保存
ファイルシステ
ムのメタデータ
を管理
© 2013 IBM Corporation
28
HDFSにおけるファイルの書込
コピー作成に失敗しても規定数以上のブロックが作成できれば書込は成
功し、HDFSが引き継いだ後に、コピーを後から増やす
コピーを保存する
ノードもネームノードが
決定する
© 2013 IBM Corporation
29
29
Hadoopでは、障害は発生することが前提
〜HDFSと自動レプリカの仕組み〜
データノード群
A1 A2 A3
B1 B2 B3
ファイルA
ファイルB
A1 A1 A2
A2 A2 A3 A3
A3
B1 B2 B2
B3 B3
三つのレプリカ
二つのレプリカ
ネームノード
このマシンが
ダウンしたら・・・
別の正常なマシンから
レプリカが再実⾏される
A1
B1
A1
B1
© 2013 IBM Corporation
30
HDFSは、OS上に構築する仮想ファイルシステム。つまり、
アプリケーションと同じレイヤー
Hadoopで処理をしたいデータは、HDFSへコピーする必要がある。
– HDFSがPOSIX準拠ではないため。
Linux OS / Linux File System
HDFS
ハードウェア・レベル
HadoopAP
L
AP
L
AP
L
わかりやすく、HDFSの概念図
〜Hadoop専⽤ファイル・システム〜
© 2013 IBM Corporation
31
よくあるケース)バッチ処理にかかる総コスト
〜DBからデータをHadoopに移動させるケース〜
Hadoop処理にかかるコスト =
{ A(DBからのデータ移動)+B(HDFSへのコピー)+C{分散コスト+
処理コスト+集約コスト}+D(結果書き戻しコスト)+E(DBへの
データ移動) }
→これが、現状処理よりも時間短縮になれば、Hadoop処理の効果あり。
Linux OS / Linux File System
HDFS(非POSIX準拠)
ハードウェア・レベル
分散Hadoop処理
APL APL
B
A
D
E
C
エキスポート インポート
© 2013 IBM Corporation
32
HDFSに向かない処理
×低レイテンシのデータアクセス
– スループットに最適化
×⼤量の小さなファイル
– 最⼤ファイル数はマスターノードのメモリ容量に制限される
※計算すればよい。
※⼤量の小さなファイルを1つのファイルとして扱う手段が⽤意されている。
×複数の同時書込や任意ファイルの修正
– 書込は常に新規か追記のみ
– 任意位置からの書込不可(将来は不明)
• 通常のファイルシステムはseekできますが、HDFSは現在できません
• POSIXで規定されたファイルアクセスのAPIに足りないものがあります
• Linux上でマウントできません
© 2013 IBM Corporation
33
参考:コマンドラインインターフェース
HDFSはコマンドで操作可能
– 例:hadoop fs –ls / ルートディレクトリーのリストを表⽰
– hadoop namenode –format ファイルシステムをフォーマット
– hadoop fs –mkdir /user/hadoop ディレクトリーの作成
– hadoop fs –copyFromLocal huge.log /user/hadoop コピー
ファイルシステムの指定にURIスキームを利⽤可能
– file://localfile/
– hdfs://hadoopdfs/
– ftp://pub/rhce/rpm/
POSIX相当のファイル操作APIがJavaライブラリーにある
– ただし、⼀部のAPIが欠けている
© 2013 IBM Corporation
34
参考:Webインターフェース : ポートはデフォルトでは50030 と 50070
© 2013 IBM Corporation
35
HDFS まとめ
HDFS : Hadoop Distributed File System
Javaで書かれた分散ファイルシステム
マスタースレーブ形式でネームノードとデータノードに分かれる
スループットに最適化 (レイテンシは良くない)
ネームノードはファイルシステム全体のメタデータを管理する
全てのデータはデフォルトで3コピー取られる(データはもともとの4倍量)
冗⻑性に優れデータノードの⼀部に障害が発生しても全体に影響が出ない
ただしネームノードはSPOFとなるので冗⻑化を必要する(仕組みがある)
© 2013 IBM Corporation
36
MapReduceとは何か
Map処理とReduce処理
–関数型言語の分散処理への応⽤で、アプリケーションフ
レームワーク
–演算パラダイム、つまり枠組み
•工夫であり、制約でもある
※ここがYARNでMapReduceの枠を超えられる
–ざっくりと言うと、以下の二つの関数で処理される
•map (in_key, in_value) -> (inter_key, inter_value) list
•reduce (inter_key, inter_value, list) -> (out_key,
out_value) list
36
© 2013 IBM Corporation
例)MapとReduceの処理フローの概念
①mapでデータを操作し、②reduceでデータを集約する
※mapもreduceもデータの全体を知る必要がない
この例:入⼒ファイルからdogという単語とcowという単語の出現
回数数をMapReduceで数える例(よく言う、ワードカウント)
Unixだと
© 2013 IBM Corporation
38
クラスター上でのMapReduceによる並⾏処理
mapとReduceの間に
Shuffleフェーズが存在し、
全データはソートされる
HDFSにある
巨⼤な
ファイル群
mapもreduceも
プログラムが配信
される
© 2013 IBM Corporation
39
参考:Tips
HDFSは巨⼤なファイルをクラスター上に分散する
MapReduceはMap処理をデータの存在するノードに分散
– 巨⼤なデータの転送無しにデータ全体の処理が⾏われる
– データが複数のノード上で多重I/Oが⾏なわれるので速い
– 全体のパフォーマンス向上のためにはさらにMapの出⼒をできる限り減らす
ことが重要
• MapからReduceへのデータ移動はネットワーク上の転送になるShuffleは
ソートを⾏う
– 同じキーのデータは同じReducerに集まる→集約が⾏える
Reduceも分散できるが、デフォルトでは分散しない
– 例えば全てのデータの合計値が欲しい場合にはreducerを1つにするしかない
– Reducerを複数に指定すると出⼒ファイルも複数になる
• 例えば先の⽝と⽜のそれぞれの合計を数える場合、Reducerは2つにして
良い
– 処理の特性に合わせてReducerの数を調節することが重要
• デフォルトの1つでは⼤抵の場合遅いので注意
© 2013 IBM Corporation
40
参考Tips:入⼒スプリット(後述)
Mapへの入⼒はsplitと呼ばれる単位に切り分けられる
map関数はsplit中のレコードを繰返し処理する
splitが小さければタスクの数が増え平⾏度が増す
全体のロードバランスが良くなる
splitを小さくし過ぎるとタスク生成のオーバーヘッドが⼤きくなる
通常、splitのサイズはブロックと同じ(例:128MB)にしておく
© 2013 IBM Corporation
41
HadoopにおけるMapReduceの実装
通常はJavaで記述
– 他の言語でも可能(Pig, Hive(HiveQL),JAQL,SQL, Hadoop Streaming)
JavaでHadoopのライブラリーを⽤いてプログラムを作成
– main関数を持つアプリケーション
– jarで固める
• manifestでmainクラスを指定
hadoopコマンドにて実⾏
– MRアプリは⼤量のjarファイルに依存するので簡便のためhadoopスクリ
プトを使う
• hadoop –jar user_program.jar [mainクラス名] 入⼒パス 出⼒パス
– 入⼒パスはファイルかディレクトリー名。
• ディレクトリー指定では中のファイル全てを処理します
– 出⼒パスは存在しないディレクトリー名。存在する場合エラー
• reduceの出⼒は出⼒パスにreduceの数のファイルとして記録される
© 2013 IBM Corporation
42
MapReduceの基本
MapReduce の基本:
Divide & Conquer
–大きな問題を小さくして解決する
42
Map
Reduce
Map
Map
TaskTracker
TaskTracker
TaskTracker
TaskTracker
TaskTracker
JobTracker
main
run
Reduce
ジョブの
実⾏依頼
タスクの
実⾏分配
タスク/
Job配布
データ
移動
Spawn
JVM
Spawn
JVM
Spawn
JVM
データがある
場所でプログ
ラム実⾏
Spawn
JVM
Spawn
JVM
⇒プログラム
プログラム
© 2013 IBM Corporation
43
MapReduce とは (1)
広義にとらえるとMapReduceは、並列処理のための分散計算手法です。
– 考え⽅は非常に単純で、次の 2つのステップでデータを処理するというだけのものです。
• ステップ#1:処理対象のデータをレコード毎に処理して、それぞれの結果をキー
とバリューの組で表現する。⇒ これがMap 処理
• ステップ#2:同⼀のキーを持つ結果毎に処理結果を総合して、最終結果を取り出
す。⇒ これがReduce 処理
–例えば、1000ページのドキュメントに含まれる IBM と Linux いう単語の
出現回数を検索。
• 1 レコードは、1 ページ分のテキストで、処理結果のキーとバリューは、単語
(IBM、もしくは、Linux)とその出現回数とすると下記の MapReduce 処理で結果
を得ることができます。
ページ毎に処理を⾏う
(Map)
ページ 1
(IBM, 3 回)
(Linux, 1 回)
単語毎に結果を合計する
(Reduce)
合計
(IBM, 102 回)
(Linux, 293 回)
・・・
ページ 2
(IBM, 0 回)
(Linux, 2 回)
ページ 1000
(IBM, 0 回)
(Linux, 0 回)
© 2013 IBM Corporation
44
MapReduce はデータ処理の⼿続きを定めているだけであり、
実際のMap 処理と Reduce 処理の内容は、解くべき問題に応
じて、個々に考えて実装する必要があります。
Google では、次のようなデータ処理を MapReduce モデルで実装していると言っています。
– Web サイト内の⽂字列検索
– URL 毎のアクセスカウント(Web サーバーのアクセスログの解析)
– 特定の URL にリンクを貼っている Web サイトのリストの作成
– Web サイト毎の単語の出現回数のリストの作成
– 特定の単語が含まれる Web ページのリストの作成
– ⼤規模なソート処理
Google では、平均的に次のような規模の MapReduce 処理を実装していると言っています。
– 使⽤ノード数 2,000
– map 処理の分割数 200,000
– reduce 処理の分割数 5,000
MapReduce とは (2)
© 2013 IBM Corporation
45
45
<Key, Value> <Key, Value><Key, Value>
<Key, Value> <Key, Value><Key, Value>
Map Map Map
Reduce
<Key, Value>
<Key, Value>
OutpurFormat
Split Split Split
input input input
InputFormat
シャッフル(ソート){内部処理}Driver
出⼒ファイル(HDFS)
<Key, Value> <Key, Value><Key, Value>ジョブ投入
処理の分散
実⾏を制御
処理結果の
集約を制御
分散を意識
する必要は
ありません。
Keyと
Valueの
構造
Hadoopクラスタ
入⼒ファイル
(HDFS)
MapReduceの内部構造
Reduce
プログラム
実装
プログラム
実装
並列度が決
まる(インプット
をどのサイズで分割す
るのか?)
© 2013 IBM Corporation
46
MapReduceの例(1):ワード・カウント編
〜Map処理(アプリケーションとしてプログラム実装が必要)〜
46
IBM enables new solutions to gain insights from
unprecedented information flows, which are
exploding in volume, variety, velocity and
vitality. These flows are so large they define a
new category: big data. They offer tremendous
potential for deep insights that provide greater
efficiencies, value add services and opportunity
for transformation.
No other company offers the depth and breath
of innovation and experience like IBM does in
the big data space. From ultra-low latency
information-in-motion analytics capabilities
offered via InfoSphere Streams, analytics
oriented data warehouse solutions, to our
innovative InfoSphere BigInsights, IBM has an
unique breadth of big data capabilities with a
holistic approach. InfoSphere BigInsights is an
analytics platform that delivers unique IBM
Research, IBM Emerging Technologies and IBM
Software capabilities on top of Apache Hadoop
framework enabling new solutions on a
business-ready platform. IBM has a holistic
approach, expanding analytics to encompass
big data, information streams, and structured
data in Data Warehouses.
IBM 1
enables 1
new 1
solutions 1
to 1
gain 1
insights 1
from 1
unprecedented 1
information 1
flows 1
which 1
Map出⼒
の結果
テキストを単
語に分解して、
出現頻度を数
えます。
© 2013 IBM Corporation
47
47
IBM 1
IBM 1
IBM 1
IBM 1
:
IBM 1
enables 1
enables 1
enables
new 1
new 1
new 1
new 1
IBM 1,1,1,1,….1
enables 1,1,1,1
new 1,1,1
solutions 1,1,1
to 1,1,1,1,….,
1
gain 1,1
insights 1,1,1,…..1
from 1,1,1,1…..1
unprecedented 1
information 1,1,1,1
flows 1,1,1
which 1,1,1,1…..1
MapReduceの例(1):ワード・カウント編
〜ソート・シャッフル(内部処理)〜
次に、単語毎
に整理して、
出現頻度を数
えます。
© 2013 IBM Corporation
48
48
IBM 1,1,1,1,….1
enables 1,1,1,1
new 1,1,1
solutions 1,1,1
to 1,1,1,1,….,
1
gain 1,1
insights 1,1,1,…..1
from 1,1,1,1…..1
unprecedented 1
information 1,1,1,1
flows 1,1,1
which 1,1,1,1…..1
IBM 201
enables 4
new 3
solutions 3
to 3021
gain 2
insights 583
from 1028
unprecedented 1
information 4
flows 3
which 128
MapReduceの例(1):ワード・カウント編
〜Reduce(アプリケーションとしてプログラム実装が必要)〜
出現回数を単
語毎に纏めて
数えます。
最後に集計結果をまと
めます。
© 2013 IBM Corporation
49
MapReduceの仕組み/キー別スコアの合計を求める
<A,10>
<B,20>
<C,30>
<A,40>
<A,{10,40,20}>
<C,{30,20}>
<B,50>
<D,40>
Map
Map
Map
HDFS
HDFS
HDFS
Reduce
Reduce
シャッフルシャッフルシャッフルシャッフル(Shuffle)
同じキーで再配置同じキーで再配置同じキーで再配置同じキーで再配置&集計集計集計集計
この例は,この例は,この例は,この例は,SELECT KEY,SUM(VAL) FROM T GROUP BY KEY
に相当する。に相当する。に相当する。に相当する。RDBMSならばどのように並列処理されるかならばどのように並列処理されるかならばどのように並列処理されるかならばどのように並列処理されるか
<D,10>
<A,20>
<D,20>
<B,20>
<B,10>
<C,20>
<D,10>
<B,{20,20,10}>
<D,{10,20,10}>
<A,70>
<C,50>
集計集計集計集計
集計集計集計集計
集計集計集計集計
集計集計集計集計
スコア一覧ファイルスコア一覧ファイルスコア一覧ファイルスコア一覧ファイル
A,Q1,10,Q2,50,Q3,20
B,Q1,20,Q2,10,Q3,40
・・・・・・・・・・・・・・・・・・・・
スコア一覧ファイルスコア一覧ファイルスコア一覧ファイルスコア一覧ファイル
A,Q1,10,Q2,50,Q3,20
B,Q1,20,Q2,10,Q3,40
・・・・・・・・・・・・・・・・
())))
ファイルはファイルはファイルはファイルはHDFSにににに
ブロックサイズブロックサイズブロックサイズブロックサイズ単位単位単位単位
にににに分割されて各ノー分割されて各ノー分割されて各ノー分割されて各ノー
ドに配置されるドに配置されるドに配置されるドに配置される
<A[Key],70[VAL]>
© 2013 IBM Corporation
50
RDBMS(DPF)/区分キーの設計に依存する
選択
選択
選択
区分
区分
区分
30C
40A
20
10
VAL
B
A
KEY
40D
50C
50B
70A
SUMKEY
20C
10B
10
20
VAL
D
B
KEY
20
20
10
VAL
D
A
D
KEY
集計
集
計
集
計
集
計
シャッフルがないのシャッフルがないのシャッフルがないのシャッフルがないの
で,誰か(コーディで,誰か(コーディで,誰か(コーディで,誰か(コーディ
ネータノード)が最ネータノード)が最ネータノード)が最ネータノード)が最
後に集計を行わな後に集計を行わな後に集計を行わな後に集計を行わな
ければならないければならないければならないければならない
SELECT KEY,SUM(VAL)
FROM T GROUP BY KEY
30C
20
50
SUM
B
A
KEY
20
30
SUM
A
D
KEY
20C
10
30
SUM
D
B
KEY
スコア一覧スコア一覧スコア一覧スコア一覧あらかじめ区分あらかじめ区分あらかじめ区分あらかじめ区分
キーで分割キーで分割キーで分割キーで分割
偏ったまま偏ったまま偏ったまま偏ったまま
© 2013 IBM Corporation
51
MapReduce/分布に偏り少なく並列処理に有利
<A,10>
<B,20>
<C,30>
<A,40>
<A,{10,40,20}>
<C,{30,20}>
<B,50>
<D,40>
Map
Map
Map
HDFS
HDFS
HDFS
Reduce
Reduce
シャッフル(Shuffle)
同じキーで再配置&集計
SELECT KEY,SUM(VAL) FROM T GROUP BY KEY
<D,10>
<A,20>
<D,20>
<B,20>
<B,10>
<C,20>
<D,10>
<B,{20,20,10}>
<D,{10,20,10}>
<A,70>
<C,50>
集計
集計
集計
集計
出現回数に偏りが
あっても・・・
リストの⻑さは偏って
もReduce後には均等に
© 2013 IBM Corporation
52
ここまでのまとめ
Hadoopは超巨⼤なファイルを効率よく処理するバッチフレームワーク、
と位置づけられます。
※常に進化していることも事実。YARNなど。
HadoopはHDDの遅さに考慮して、データローカリティーを重視した
考え⽅に基づきます。
HadoopはHDFSという分散ファイルシステムを持ちます。
HadoopはMapReduceというパラダイム(プログラム実⾏フレーム
ワーク)を⽤いてアプリケーションを作成します。
© 2013 IBM Corporation
53
Hadoop common
HDFSとMapReduceのことをHadoop commonと呼びます
– 注:厳密にはcommonにはHDFSもMapReduceも含まれないコアのユーティリティーのみを意味す
るはずですが、実際にはcommonとHDFS、MapReduceは同梱して配布されているためここでは
commonに含まれるとします。
Hadoop commonは巨⼤ファイルをバッチ処理することに特化したシステムです。
– 巨⼤なファイルを扱うためのファイルシステムであるHDFS
– HDFS上にて分散されたデータの存在するノードに、アプリを配布して処理する
MapReduce
Hadoop commonは基本的にこの目的にしか使えません!
Hadoopの限界を考えずにHadoopを使うと失敗します。
– よくある失敗例
• Hadoopをオンライン処理に⽤いる
レイテンシが高く、ジョブ配布コストがあるので1ジョブの終了には短かくても数十秒~30秒近くかかります。
• Hadoopを通常のネットワークファイルシステムとして常⽤する
小さなファイルには向きません。更新できません。ファイル復旧、バックアップ手段等まだ足りません。
• Hadoopを仮想環境で利⽤する
データローカリティーを実現できず、スケールしません。(特別な対処、仕組みを用いていない限り。。。)
© 2013 IBM Corporation
54
Hadoop commonの限界
HDFSはOSにマウントできない
– HDFSとローカルファイルシステムの間でデータのコピーが必要となる
HDFSは巨⼤なデータにしか効率が良くない
– 小さなデータを扱うのは苦手
HDFSは更新できない
MapReduceを⽤いれば必ず巨⼤なファイル全体をアクセスしなければならない
– シーケンシャルファイル、Mapファイル等の⼀部例外は存在する
MapReduceはプログラム開発の難易度が高い
– 関数型言語の高階関数による技法が必要
– セカンダリーソート等MapReduce向けのパターンの習熟(職人芸の領域!)
MapReduceはオンライン処理には向かない
– Hadoop税(MapReduceの⼀蓮の処理にかかるコスト)が高い
© 2013 IBM Corporation
55
Hadoop commonに足りないもの
HDFSと外部との効率的なデータ交換手段
– HDFSはOSにマウントできないため、また追記しかできず更新ができないため、HDFS外部との巨
⼤データの効率的な交換⽅法が必要になります
– 例: RDBMSのデータとHDFSとの間のデータの交換
⇒sqoopや連携ツールが用意されはじめました。
MapReduceジョブの管理ソフトウェア
– Hadoop上での処理は1度のMapReduceでは完了しない場合がほとんどです
– 複数のMapReduceジョブを依存関係を考えながら連続して実⾏する管理ソフトウェアが別にあるほ
うが運⽤が楽になります。
⇒AsakusaやPlatform Symphonyはこのあたりを効率化してます。
HDFSに直接ログを取る手段
– HDFSはOSにマウントできないので通常のアプリはHDFSに直接書き込むことができません
– しかし⼤量のログをまとめてHDFSにコピーするのは時間がかかります
– 何らかの⽅法でアプリをログをHDFSに連続して書き込む手段があると効率が良くなります
⇒IBMのGPFS-FPOや、HDFSの代替ファイルシステムも登場しています。
などなど
© 2013 IBM Corporation
56
非構造化データ
構造化されていないデータ
自由フォーマットのテキスト等
テキストに繰り返し等の⼀定の構造があっても非構造化データと判断される場合
も多い → 例: Apacheのログとか
半構造化データ
厳密な定義はないが、XMLやJSON等のある構造の中に非構造化データ
RDBに対し、半構造化データのデータストアはスキーマレスなDBと表現される
データ構造から考える向き不向き
Hadoop commonは原則ファイルシステムを⽤いるので非構造化データを扱うのに向く。
構造化データを扱うにも⼀旦テキストファイルに落とす必要が出てくる。例: RDBMS
のテーブルをCSVとしてエクスポートしHDFSにコピー
構造化データ
スキーマを⽤いてデータの要素の型が厳密に定義され、個々のデータが厳密に
等しい型に基づく
© 2013 IBM Corporation
57
色々ありますが、Hadoopを活⽤する時に
Hadoop common、すなわちHDFSとMapReduceは
低レイヤーのプラットフォームと考える
– 利⽤⽅法の自由度が高いので開発コストは高いが、当然、失敗もしやすい
※運⽤上、commonの知識の重要性は従来と変わらない
Hadoop単体でなく、上位レイヤーのソフトウェアの利⽤を最初に考慮する
– 上位に相応しい物が無い場合に初めてcommon上で自主開発を⾏う
⇒これはかなりハードルが高い。BigInsightsはBig SQLや
ツールキットを用意しています。
Hadoopは既にエコシステムの中心である
– Apache Foundationには
Hadoopを利⽤する
トッププロジェクトが数多くある
Common
Apache Hadoopエコシステム →
© 2013 IBM Corporation
58
参考:Hadoop commonの限界を越える
Oozie、IBM Oozie拡張ジョブ管理システムがない
HBaseオンライン処理には向かない
Hive、Pig、Jaql, SQLプログラム開発が難しい
対処問題
HBase、Hive全てのデータにアクセスする必要があるMapReduce
GPFS-SNC、Gfarm、Ceph等OSにマウントできないHDFS
Mahoutなど高度なライブラリーが不足
Hive, Pig, Jaql, HBaseデータがファイル形式のみ
HBase更新できない
HBase少量のデータに向かない
© 2013 IBM Corporation
59
HDFSはOSにマウントできない
IBM : GPFS-FPO
IBM製の分散ファイルシステム
POSIX準拠、OSマウント可能、SPOFがない
HDFSをGPFS-SNCに取り替えることでHDFS使⽤に対し2倍の高速化を達成
– MapReduce Benchmarks on a 16-node cluster with 4 SATA disks per node comparing
GPFS-SNC to HDFS
– http://www-03.ibm.com/press/us/en/pressrelease/33036.wss
SuperComputing Challenge 2010で優勝
OSSの分散ファイルシステムの利⽤
Ceph、Gfram、GlusterFS等多数
Linux上にて通常のファイルシステムとしてマウント可能
HDFSの代替に⽤いるプロジェクトが複数動いています
– ただし、データローカリティまで対応しているものはまだ少い
© 2013 IBM Corporation
60
半構造化データを⽤いるために
Jaql(ジャックル)
処理対象:構造・半構造データ
IBMが開発
スクリプト言語でMapReduceより生産性が高い
通常の開発言語と同じ記述⼒-手続き型の記述に適している
Jaql実⾏はMapReduceに変換されてHadoopクラスター上で実⾏される
⼊出⼒にJSONが使える
– HDFS、GPFS-SNC上にJSONがシリアライズしたバイナリとして保
存されるため効率が良い
© 2013 IBM Corporation
61
構造化データを利⽤するために
Apache Hive http://hive.apache.org
スキーマ定義が必要(CREATE TABLE)
Hadoop上にデータベース(制約有り)を構築する
スキーマを⽤いることが可能
SQLライクな(SELECTなど)HiveQLクリプトを⽤いてデータにアクセスできる
– MapReduceに変換されて実⾏される
更新はできない
通常の⾏指向のみでなく、列指向のテーブルを作成可能
– ⾏指向アーキテクチャーはインタラクティブなトランザクションの多い OLTP 的な⽤途に向く
– 列指向アーキテクチャーは少数の複雑なクエリを実⾏するデータウェアハウスのような OLAP 的な
⽤途に向く
パーティション分割が可能で、データ全体にアクセスする必要が無い
注: RDBMSの代替には成りません。
© 2013 IBM Corporation
62
列指向データベース : HBase
HBase
– http://hbase.apahce.org
GoogleのBigTableの論⽂を元にHadoop上に実装した列指向データベース
– KVSやNoSQLの代表例として挙げられる場合が多い
– 列を⾏別に自由に追加できる。柔軟な設計と巨⼤な⾏データの作成が可能
Hadoop上にて小さなデータの挿⼊や更新を可能に
– HDFS上に世代別ファイルを作成することで⾒掛け上の更新を実現し
ている
– "Strong Consistency": データの値がreadに対し一貫性を持つ
ランダムライト、シーケンシャルリードが高速
– シーケンシャルライトが苦⼿。書込時にキーがランダムに分散していることが望ましい
• BigTableと同じ⽅法により将来的には解決の⾒込
データを⼤量に書き込んだ後、MapReduceで解析することが得意
– ⼤量のデータを相手にリアルタイム性の高い処理の構築が可能
※既に、Facebook, LINEさんが使われています。
© 2013 IBM Corporation
63
参考:ジョブ管理システム
全ての処理が1回のMapReduceで終了する訳ではない
例えばグラフの探索は幅優先探索で⾏うため常にグラフ全体の構造と現在の位置を入⼒に
して同じMRを繰返すことになる
多段のMapReduceは多段のjobであり、多段の依存batchになる
現状ではHadoopには標準のbatchスケジューラーは無く、シェルスクリプトを書かねば
ならない
– 異常系の処理をここで書かなければならない
しかし、多くのジョブ管理システムがOSSにて開発されている
メジャーな物として米Yahoo!が開発しているOozieがある
– http://yahoo.github.com/oozie/
IBMではOozieに加え、付加価値機能を追加済み。
© 2013 IBM Corporation
64
通常のアプリが直接HDFSに書き込めない
アプリの出⼒やログをHDFSに集めるためのOSSがいくつかある
Facebook Scribe: https://github.com/facebook/scribe
Cloudera Flume: https://github.com/cloudera/flume/wiki
rsyslog: http://www.rsyslog.com/doc/omhdfs.html
またRDBMSのデータをHDFSとの間で送受信するためのOSSもある
Sqoop
– http://www.cloudera.com/downloads/sqoop/
© 2013 IBM Corporation
65
機械学習ライブラリー : Mahout
MahoutはMapReduceを⽤いて記述された機械学習⽤のライブラリー
マーケティング等に⽤いられる
– バスケット解析 (ビールとおむつが同じ客に良く売れる)
– クラスタリング (データを自動で分類できます)
– リコメンドエンジン (同じ製品を買ったお客様はこんな商品を買って
います)
– 等
現在非常に注目されており、利⽤実績も増えている
– 楽天、Yahoo!、等
http://mahout.apache.org/
© 2013 IBM Corporation
66
参考:MapReduce以外の演算パラダイム
を利⽤する
※もうすぐYARN (Hadoop v2)が。
Apache Hama
– http://incubator.apache.org/hama/
– MapReduceでは難しい巨⼤な⾏列同士の演算をBSPにて実現する
– HDFSとZooKeeperは利⽤している。HDFSは他の分散ファイルシステムに変
更可能
Yahoo!からスピンアウトしたHadoopの開発者達は次世代のHadoopを開発中で
ある
– MapReduce以外の演算パラダイムをHadoop上で実現することを可能とする
予定
– http://developer.yahoo.com/blogs/hadoop/posts/2011/02/mapreduce-nextgen/
© 2013 IBM Corporation
67
Hadoop を利⽤した(バッチ処理)事例
基本的な考え⽅:Hadoopはサービスレベルがあまり高くない(クリティカルで
はない) 業務のバッチ処理の適⽤が向いています。
⇒最近はここが⾦融系、中核の業務系にも用いられはじめています。
導入効果の例 (IBM事例で無いものを含みます)
※必ずしも、この処理性能を保障するものでは、ありません。
企業種類 処理内容 データ
量
短縮の度合い
(適⽤前→適⽤後)
短縮度
合い
クラスタ
規模
Web広告企業 ・クリック情報集計
・広告精度追跡 等
700 GB 5日間 → 1時間 1/120 9台
クレジット
カード会社
・不正検知⽤モデル
作成
36TB 4週間 → 13分 1/32000 70台
流通業 ・顧客別の
購買履歴集計
20GB 15時間半 → 58分 1/16 28台
Web系
サービス企業
・地図サービスログ
集計
170GB 6時間 → 5分30秒 1/65 20台
© 2013 IBM Corporation
68
Hadoop Cluster
1年間分の検索ログを処理
7000時間 (MySQL)所要する処理を
30時間(Hadoop)で。
Hadoop適⽤事例 – クックパッド・たべみる
〜分析〜
分析の種類:
SI値
地域別(SI値)
マッチ度
組み合わせ
IBMの事例ではありません。
検索ログ
© 2013 IBM Corporation
69
検索キーワード入⼒補助
〜Yahoo! Japanの例〜 IBMの事例ではありません。
過去に入⼒された検索キーワードの組み合わせを事前にHadoopで分析し、
対象のキーワードが入⼒されると、それに⼀番マッチする補助キーワードを補助
入⼒候補として表⽰するためのインデックスを構築。
© 2013 IBM Corporation
70
ようやく、BigInsights /Big SQLです。
© 2013 IBM Corporation
71
エンタープライズHadoopでの新たな考慮点
Hadoop技術を、⼀般の企業内で利⽤する際に、Webサービスなどの利
⽤とは違った新たな考慮点が存在します。
最初はスモールスタートだ
が、今後拡張できる基盤
は?
ハードウェア構
成も可⽤性は
必要?
既存の運⽤監視、
ジョブ運⽤環
境との連携?
データソースと
の連携?
データのバック
アップは?
分析システムと
の連携?
他のベンダーはアプラ
イアンスって言って
るけど?
Cognos BI
Cognos Insights
SPSS/R/BigSQL
Sqoop/Flume/DataStage
GPFS-FPO
PureData System for Hadoop
HA / GPFS-FPO
統合管理UI / REST
簡単なクラスター追加・管理
© 2013 IBM Corporation
72
従来は・・・ Master Node
Slave Node
Slave Node
NameNode
DataNode
DataNode
TaskTracker
TaskTracker
Job Tracker
Secondary
NameNode
Slave Node
DataNode
TaskTracker
Slave Node
DataNode
TaskTracker
Development Node
Eclipse
Flume
Zookeeper
HBase
エンドユーザー
管理者
開発者
Jaql Server
Oozie
Hive
実は、Hadoopはそれ程、簡単ではない!結構、複雑。
新しい分析、
開発発注しな
いと・・・
サーバー、ア
プリ管理も
色々ある
な・・・
言語の使い分
け、SQLも使
えない・・・
© 2013 IBM Corporation
73
BigInsightsは Master Node
Map/Reduce
Distributed
File System
Slave Node
Slave Node
NameNode
DataNode
DataNode
TaskTracker
TaskTracker
Job Tracker
Secondary
NameNode
Slave Node
DataNode
TaskTracker
Slave Node
DataNode
TaskTracker
WebConsole
BigInsights Development Node
Eclipse
BigInsights
Plug-in
Flume
Zookeeper
HBase
Catalog
エンドユーザー
管理者
開発者
Jaql Server
Oozie
Hive
Hadoopにかかる負担を最小に!
Hadoopを知
らなくても使
える!
今までのSQL
の知識を活⽤
できる
同じコンソー
ルからリソー
ス管理もでき
る!
© 2013 IBM Corporation
74
BigInsightsの3つのエディション:
InfoSphere BigInsights Brings Hadoop to the Enterprise
①Basic Edition
③Enterprise
Edition
Breadth of capabilities
Enterpriseclass
商⽤・非商⽤で無償
商⽤向け、および
テスト向け:
サイズ課⾦
Apache
Hadoop
④PureData for Hadoop
BigInsihgtsアプライアンス
②Quick Start
Edition
非商⽤目的で
無償
(サポートなし)
Pre-announced
© 2013 IBM Corporation
75
InfoSphere BigInsights
BigInsightsはHadoopを拡張する機能群とエンタープライズ向け連携機能群、そして活⽤を容易なツー
ルを介して実装し、開発サイクルを短縮化できるソリューション・パッケージです。
《非商⽤環境で無償、容量無制限のQuickStartエディションも登場》
Hadoop拡張レイヤー
・・・
・・・
Masterノード
Slaveノード
Cognos
BI*(バンドルバンドルバンドルバンドル)
Hive(JDBC) /
REST(http)
DataStage*(連携)
DB2*(連携)
R*(連携)
Streams*
(バンドルバンドルバンドルバンドル)
Data Explorer*
(バンドルバンドルバンドルバンドル)
MachineDataAnalytics
*(アクセレレーターアクセレレーターアクセレレーターアクセレレーター)
SocialMediaAnalytics
*(アクセレレーターアクセレレーターアクセレレーターアクセレレーター)
Nutch*(連携)
Gnip
*(連携)
LZO/bzip2圧縮
(分割可能)
PureData
*(連携)
DBデータ取り出し・
送り出し
データ探索の可視化
BigSheets
アプリ・リンク
ワークフロー
FLEXスケジューラースケジューラースケジューラースケジューラー
連携レイヤー
Guardium*(連携)
スケールアウト
BigSQLによる
SQL互換の
インターフェイス
HA on HDFS/
GPFS-FPO
AdaptiveMR
((((Symphony))))
(連携)
JAQL JAQLによる
より高度なM/R
スクリプティング
Web管理コンソール
© 2013 IBM Corporation
76
オンライン
BigInsights
BigInsights(Hadoop)とDB2/Netezzaは連携可能
Hadoopの活⽤のポイントは、「バッチ処理の並列化(高速化)」、
「眠っている履歴データ(ログ)、非定型データの有効活⽤」
DB2
HDFS
DB2/JDBC Bridge
DB2
DataStage
Hadoop
DB2からHadoop
へのJobをキック
することができる。
(処理はUDF経
由でJAQL呼び出
し)
Hadoopのデータと
してDB2を透過的に
利⽤できる(UDF経
由)
R Bridge
SPSS
統計解析ソフト
分析データのソースとし
てHadoopを利⽤可能
(になる予定)
JAQL
SQL
JAQL
Flume (サポート対象)
高速データ移動、
パラレル処理が可能
なDataStage
BigInsightsは既存システムと連携可能
Hadoop
Streaming
Ruby
Cなど
R
JAVA
files
files
files
files
© 2013 IBM Corporation
77
DB2とInfoSphere BigInsightsの連携
JaqlSubmitJaqlSubmit UDFUDF
HDFSReadHDFSRead UDFUDF
UDFUDF
SQLSQLDB2DB2Cubing servicesCubing services
JaqlJaql clientclient
JaqlJaql serverserver
Web log data onWeb log data on HadoopHadoop HDFSHDFS
InfosphereInfosphere WarehouseWarehouse
InfosphereInfosphere BigInsightsBigInsights
HttpHttp (⼤量のデータを移動(⼤量のデータを移動
させることには向かない)させることには向かない)
HttpHttp
Persistent data
例えば、過去
10年分の
データを保管
例えば、直近
2年分のオン
ライン・デー
タを保管
①
②
③
④
⑤
⑥
© 2013 IBM Corporation
78
お知らせ:クイックスタート・エディションは無償で利⽤可能
非商用環境において、無期限・サイズ無制限で利⽤可能。
-提供形態:バイナリー版(インストーラー)⇒クラスタ環境構築可能
VMイメージ (本日のデモで使います)
ここから
ダウンロード
ダウンロード:http://www.ibm.com/software/data/infosphere/biginsights/quick-start/index.html
© 2013 IBM Corporation
79
IBM – BigInsightsコアエンジン
分析アクセレレーター
ユーザー・インターフェイス
ビジュアライゼーション 管理・コンソール
テキスト
分析
アプリケーション・
アクセレレーター
MapReduce +
ワークロード管理 セキュリティー
開発ツール
連携
データベース&
DWH
Gurdium監査
Optimデータマス
キング・プライバ
シー
ETL-DataStage
統計解析-SPSS
テキスト分析-ICA
インデックス
Apache™ Hadoop®
バンドル
Cognos BI
BIエンジン
Streams
リアルタイム処理
Data Explorer
検索エンジン
IBMは、コア
部分に加えて
付加価値機能、
バンドル、連
携モジュール
をパッケージ
しています。
Hadoop
mapReduce
Hadoop
HDFS
© 2013 IBM Corporation
80
BigInsightsに含まれるコンポーネント*(1 of 2):
機能 Version
Basic
Edition
Enterprise
Edition
統合インストーラー 含む 含む
Hadoopコア (ユーティリティー, HDFS, MapReduce) 1.1.1 含む 含む
Pig (言語 / クエリー言語) 0.10.0 含む 含む
Flume (データ収集/集約) 1.3.0 含む 含む
Hive (DWH/クエリー) 0.9.0 含む 含む
Lucene (テキスト・サーチ) 3.3.0 含む 含む
Zookeeper (プロセス制御(コーディネイション)) 3.4.5 含む 含む
Avro (データ・シリアライゼーション) 1.7.2 含む 含む
HBase (高速データ読み書きストア) 0.94.3 含む 含む
HCatalog (テーブル・ストレージ管理サービス) 0.4.0 含む 含む
Sqoop (RDBMSバルクデータ・トランスファー) 1.4.1 含む 含む
Oozie (ワークフロー/ジョブ・オーケストレーション) 3.2.0 含む 含む
Jaql (IBMアルマデン研究所が開発したクエリー・スクリプト言語) 含む 含む
オンライン・ドキュメント(マニュアル:InfoCenter) 含む 含む
JAQLモジュールからのJDBCソースへのアクセス 含む 含む
DB2連携 (ジョブのサブミット、データの読み込みなどの関数) 含む 含む
© 2013 IBM Corporation
81
オープンソースのHadoopにはない機能
Basic
Edition
Enterprise
Edition
Big SQL (標準的なSQLクエリー・サポート, JDBC/ODBCドライバ, DB2/Netezza/
Teradataなどからのデータのロード) なし 含む
JaqlからのPure Data for Analytics (Netezza), DB2 LUW w/ DPF連携
R連携 (Jaqlモジュールから Rスクリプトの呼び出し) なし 含む
LDAP/PAM/ファイル認証, Guardium, SPSS, Optim連携サポートなど なし 含む
WEBコンソール なし 含む
分析アクセレレーター (ソーシャルメディア、マシーンデータ解析) なし 含む
Platform Computing Symphonyエンハンス (GPFS-FPO, Adaptive MapReduce,
圧縮テキストファイル処理, flexible job スケジューラー, 高可⽤性など)
なし 含む
テキスト分析モジュール なし 含む
Eclipse開発ツール(テキスト解析の開発、Jaql,Hive,Java,Big SQLなど) なし 含む
データインポート・エキスポート、WEBデータ収集、機械学習などのモジュール なし 含む
Webベースのアプリケーション・カタログ機能 なし 含む
BigSheets: 表計算シートによる解析ツール
BigIndex: Lucene拡張の分散インデックス・サーバ なし 含む
IBMによるサポート なし 含む
Streams, Data Explorer, Cognos BI (限定ライセンス) なし 含む
ストレージサイズの制限 制限あり 制限なし
BigInsightsに含まれるコンポーネント*(2 of 2):
© 2013 IBM Corporation
82
従来は・・・
Apache Hadoop
Hadoop管理のた
めのUIは提供さ
れるが、使い勝手
はよくない。。。
© 2013 IBM Corporation
83
Welcome
クラスタ状況
ファイル管理
アプリ状況
Sheets
アプリケーション
ようこそ画面
BigInsightsは:
© 2013 IBM Corporation
84
表シート形式のデータ探索
アプリケーション実⾏管理
スケジューリング管理
アプリケーション・デプロイ
ノード管理(追加削除)
サービス管理(プロセス)
クラスター管理
ファイル管理
セキュリティー管理
© 2013 IBM Corporation
85
GUIからアプリ作成
© 2013 IBM Corporation
86
作成したアプリケーションのリンク実⾏機能
作成したアプリの逐次処理
© 2013 IBM Corporation
87
BigSheets – プログラミングなしでMapReduce。
コーディングを
することなく
データ探索、処理
記述が可能
© 2013 IBM Corporation
88
BigSheetsで⼀連の分析・処理操作を実⾏
画面上の操作を
自動的にPig変換
してMapReduce
実⾏
収集 抽出 探索・可視化 繰り返し
データのクローリン
グ・統計データ、生
データなど
サンプルデータから
分析が可能なフォー
マットにクレンジン
グ・平準化
分析、アノテート、
フィルタリング、
結果の可視化
トライアンドエ
ラー⽅式で繰り
返し
まずは、サンプ
リングデータに
対して処理
© 2013 IBM Corporation
89
分析ワークフローの定義も可能
1. データ収集、
サンプリング
2. GUIツールから処
理ロジックを実装
3. ロジックのトライ&
エラー、テスト、探索
4.アプリケーション
とし登録して実⾏
5. 定期実⾏
© 2013 IBM Corporation
90
分析の可視化も可能:⾒える化だけではなく、
「⾒ながら」
分析をする前の
仮説を⽴てる際に、
データの傾向を捕
らえることがトラ
イ&エラーで可能
になります
© 2013 IBM Corporation
91
チャートはカスタマイズ可能
マルチ・
シリーズの
データ可視化
も可能
© 2013 IBM Corporation
92
IBM – BigInsightsコアエンジン
分析アクセレレーター
テキスト
分析
アプリケーション・
アクセレレーター
MapReduce +
ワークロード管理 セキュリティー
インデックス
Apache™ Hadoop®
通常の
Apache
HDFSとIBM
が提供する
GPFS-FPO
ファイル
システムの
選択 Hadoop
mapReduce
Hadoop
HDFS
エンジンとファイルシステムの選択
通常の
Apache
MapReduce
エンジンと
IBMが提供す
るAdaptive
MapReduce
エンジンの
選択
エンタープライズ領域で求められる処理性能、可⽤性の要件に合わせたエ
ンジンとファイルシステムを選択することができます。
© 2013 IBM Corporation
93
Adaptive MapReduce(Platform Computing Symphony)
グリッド・サーバー
ブロー
カー
エンジン
Each engine polls broker
~5 times per second (configurable)
Send work when
engine ready
クライア
ント
インプットデータの
シリアライゼーション
ネットワーク転送
(client to broker)
処理エンジンによってブローカーを
ポーリングする待ち時間
ネットワーク転送
(broker to engine)
De-serialize
Input data
結果処理
Serialize
result
ブローカーに結果をポ
ストする時間
Time
…
Broker
Compute time
Symphonyのアドバンテージ:
Efficient C language routines use CDR (common data
representation) and IOCP rather than slow, heavy-weight XML
data encoding)
Network transit time is reduced by avoiding text based
HTTP protocol and encoding data in more compact CDR
binary format
Processing time for all Symphony services is reduced by using a
native HPC C/C++ implementation for system services rather than
Java
Platform Symphony has a more efficient “push model”
that avoids entirely the architectural problems with polling
BigInsightsが採用したPlatform Symphonyの
MapReduceフレームワーク
インプットの
シリアライ
ゼーション
ネット
ワーク転
送
SSM 処理時間 &
ロギング時間
総処理時間
ネットワーク転送
(SSM to engine)
デシリアラ
イゼーション
…
シリアラ
イゼーション
ネットワーク転送
(engine to SSM)
結果処理
待ち時間の最小化、シリアライゼーション、
デシリアライゼーションの高速化、
シャッフル処理の高速化、ネットワーク
最適化などを実装
MapReduce処理の
処理時間が短縮・
高可⽤性を向上で
きる仕組みを提供
© 2013 IBM Corporation
94
GPFS-FPOファイルシステム
従来のHadoop ファイルシステム(HDFS)の代替となる付加価値ファイルシステム
分散ファイルシステム
: GPFS-FPO
分散ファイルシステム
: HDFS
Map/Reduce API
Hadoop FS APIs
Higher-level languages:
Hive, BigSQL JAQL, Pig …
機能概要:
-単一障害ポイントなし
-ビルドインされたHA機能
-POSIX準拠
-ACLサポート
-ストレージプールの
サポート
-スナップショット・
バックアップ
アプリケーション
アプリケーション
からは
ファイルシステム
の違いを意識する
必要はありません。
© 2013 IBM Corporation
95
IBM – BigInsightsコア・エンジン
分析アクセレレーター
ユーザー・インターフェイス
ビジュアライゼーション 管理・コンソール
テキスト
分析
アプリケーション
・アクセレレーター
Map Reduce +
ワークロード管理 セキュリティー
開発ツール
インデックス
Apache Hadoop
バンドル
Cognos BI
BIエンジン
Streams
リアルタイム処理
Data Explorer
検索エンジン
Hadoop
mapReduce
Hadoop
HDFS
連携
データベース&
DWH
Gurdium監査
Optimデータマス
キング・プライバ
シー
ETL-DataStage
統計解析-SPSS
テキスト分析-ICA
今までのSPSS(統
計解析)で処理可能
なデータ量、対象
を⼤幅に拡⼤
BI(ビジネス・イ
ンテリジェンス)か
らDBだけではなく
Hadoopに蓄積され
ているデータも処理
対象に
© 2013 IBM Corporation
96
Cognos BI v10.2.1とBigInsights v2.1連携
Cognos
Insight
Application
(Map-Reduce)
Storage
(HBase, HDFS)
Hive BigSheets
CSV
InfoSphere
BigInsights
Hive
via JDBC
Cognos BI server
Text Analytics
REST API
探索 &
分析 レポート
SQL
Interface
via JDBC
今までのBIで扱える
データの範囲を拡⼤す
ることが可能に。
Hadoopで処理した結
果をCSVファイルで保
存し、その結果を
BigSheetsで整形、処
理、そして、Cognos
Insightでデータ取り込
みを⾏う事が可能です。
Big SQLによって
Cognos BIサーバか
ら様々な処理をプッ
シュダウンすること
が可能になります
© 2013 IBM Corporation
97
SPSS Analyticサーバー Hadoopプッシュバック
97
Big Data
Request
Stream File
Modeler Client Modeler Server
IBM SPSS Modeler
IBM SPSS Analytic Server
Hadoop pushback
Hadoop Job
Analytics
IBM InfoSphere BigInsights
& Other Hadoop Distributions
Relational Database
SQL / UDF
SPSS Analytic Server の前提としてSPSS Modeler Serverが必要となります。
SPSS Modeler/Modeler Serverは V15 FP2以上が必要となります。
SPSS Modelerの
分析処理をHadoop
上で⾏うことができ
るようになります。
従来とおりのSPSSユーザー・インタフェースで⼤量データを取り扱え
ます。Hadoop内のHDFSファイル、Hcatalogによるテーブル定義は、
SPSS Analytic Serverにデータソースとして登録するため、ユーザは
物理的なファイルを意識する必要がありません、
© 2013 IBM Corporation
98
SPSS Analyticサーバ Hadoopプッシュバック
Analytic Server
入⼒ノード
Analytic Server
出⼒ノード
*1,*2 : 2013年5月現在
SPSS Modelerの使いやすさを
そのまま利⽤でき、SPSS
Modelerが備えているデータ加
⼯処理⽤ノードのほとんどの
機能を利⽤可能
スコアリングについては、ほとんどのモデリング手法でのスコアリングをHadoop上で
利⽤可能-Hadoop上で可能なモデリング手法は、「Liner」、「Neural」、
「CHAID」、「Quest」「C&R Tree」をサポートしています。(*1)
SPSS Analytic Server からデータベースにアクセスすることも可能です。DB2 ,
Netezza , Oracle , SQL Server, Teradata をサポートしています。(*2)
© 2013 IBM Corporation
99
BigInsightsコア・エンジン
分析アクセレレーター
ユーザー・インターフェイス
ビジュアライゼーショ
ン
管理・コンソー
ル
テキスト
分析
アプリケーション
・アクセレレー
ター
Map Reduce +
ワークロード管
理
セキュリティー
開発ツール
連携
データベース
DWH
情報統制
ガバナンス
ETL
統計解析
インデックス
Apache
Hadoop
バンドル
Cognos BI
BIエンジン
Streams
リアルタイム処
理
Data Explorer
検索エンジン
Hadoop
mapReduce
Hadoop
HDFS
ビルドした解析
モジュール-アク
セレレーターを
利⽤することで
利便性を向上し
ます。
ポイント:単なる
Hadoop提供ではない
分析アクセレレーター
© 2013 IBM Corporation
100
生のログ・データとマシン・データ
①ログの検索
【インデックスの作成と
検索】
②時系列に基づく
シーケンス解析
③特定原因の分
析(カイ二乗検
定)
複数システムから収集する
様々なログデータ
を平準化し、分析する
MDA
MDAアクセレレーターで実現する3つこと
© 2013 IBM Corporation
101
①インデックス作成と検索
②パターン発⾒と頻度の分析
③原因の推定と有意検定
様々なRAWデータを
取り込む際に正規化さ
れたフォーマットに整
形することが可能(ア
ダプター)。フォー
マット変換のカスタマ
イズは可能です。
MDA処理の流れ
データの統合と変換
© 2013 IBM Corporation
102
取込が可能ログフォーマット(アダプ
ター)
Apache Webaccess
Delimited Separated Values, もしくは CSVファイル
Data Power®
Generic (これが⼀般的なログフォーマット(正規表現による取込設定を⾏う))
Hadoop Data Node
Hadoop Jobtracker
Hadoop Name Node
Hadoop Secondary Name Node
Hadoop Task Attempt
Hadoop Task Tracker
Syslog, もしくは システムログファイルなど
WebSphere® Application Server
© 2013 IBM Corporation
103
①検索
Data Explorer
(UI)
BigIndex(分散インデックス)
© 2013 IBM Corporation
104
例:基本的なファセット検索画面
(Data ExplorerのUI画面)
© 2013 IBM Corporation
105
例:インデックス・アプリの実⾏画面
© 2013 IBM Corporation
106
②時系列シーケンス化
平準化済み時系列データの
シーケンス化
© 2013 IBM Corporation
107
③ログの相関関係の調査
© 2013 IBM Corporation
108
例:ログデータの時系列シーケンス表⽰
© 2013 IBM Corporation
109
IBM – BigInsightsコア・エンジン
分析アクセレレーター
ユーザー・インターフェイス
ビジュアライゼーション 管理・コンソール
テキスト
分析
アプリケーション
・アクセレレーター
Map Reduce +
ワークロード管理 セキュリティー
開発ツール
連携
データベース
DWH
情報統制
ガバナンス
ETL
統計解析
インデックス
Apache Hadoop
バンドル
Cognos BI
BIエンジン
Streams
リアルタイム処理
Data Explorer
検索エンジン
Hadoop
mapReduce
Hadoop
HDFS
今までの
SQL知識を
活⽤できる
Big SQL
を提供
© 2013 IBM Corporation
110
DWHと連携
全てをDB/DWHに格納処理
するのではなく
Hadoopでも分担処理
Hadoopは、Java/専⽤スクリプト言語で
記述・実装する必要があり簡単ではないと思われています。
SQLをサポートすることにより、今までの知識を活⽤することが目的。
なぜSQLクエリがHadoopに必要なのか?
11
0
プリプロセス型 アーカイブ型 探索・分析型
リアル
タイム
バッチ
ランディング
フィルタリング
アーカイブ
探索
分析
データ
ウェアハウス
統合的
に格納
データ
ウェアハウス
データ
ウェアハウス
保存
© 2013 IBM Corporation
111
アプリケーション
BigSQL: SQLクエリーによるHadoopへのアクセス
BigSQLエンジン
BigInsights
Data Sources
SQL
JDBC / ODBC Server
JDBC / ODBC Driver
BigInsihgtsへNative SQLアクセス
–ANSI SQL 92+、標準的な
シンタックスサポート
(joins, データ型など …)
JDBC/ODBCドライバー
– プリペア⽂/ キャンセルのサポート、
– データベース・メタデータAPI、SSLのサポート
最適化実⾏の仕組み
–MapReduceによる並⾏処理への変換
–★インメモリーによる直接アクセス
(low-latency queries向け・
シングルモード)
様々なデータストアのサポート
– HBase (including secondary indexes)
– CSV, Delimited files, Sequence files
– JSON
– Hive tables
Hive HBase CSV
© 2013 IBM Corporation
112
BigInsightsからのSQLの呼び出し⽅法は?
コマンドライン (JSqsh shell)
Webインターフェイス (BigInsights webコンソール)
Eclipse (BigInsights プラグイン)
ODBC/JDBC ( 3rdパーティのSQLツール含む)
© 2013 IBM Corporation
113
Squirrel SQL クライアントからのSQL実⾏
© 2013 IBM Corporation
114
Microsoft ExcelとBig SQLの連携(via ODBC)
© 2013 IBM Corporation
© 2013 IBM Corporation
115
SQLサポートの概要(クエリ編):
Projection
SELECT col1, col2 FROM t1
Restriction
SELECT * FROM t1 WHERE col1 > 5
Union
SELECT EMPNO FROM EMPLOYEE WHERE WORKDEPT LIKE 'E%'
UNION
SELECT EMPNO FROM ACTIVITIES WHERE PROJNO IN('MA2100',
'MA2110', 'MA2112')
Difference (EXCEPT)
(SELECT * FROM T1) EXCEPT ALL (SELECT * FROM T2)
Intersection、Joins、Subqueries 、Built-in functionsなどなど。
© 2013 IBM Corporation
116
SQL サポート – Join編
⼀般的なJOIN⽅法とANSI joinシンタックスをサポート
例えば、HiveはANSI joinシンタックスはサポート
select ...
from tpch.orders,
tpch.lineitem
where o_orderkey =
l_orderkey
select ...
from tpch.orders join
tpch.lineitem
on o_orderkey =
l_orderkey
select ...
from tpch.orders,
tpch.lineitem
where o_orderkey =
l_orderkey
select ...
from tpch.orders join
tpch.lineitem
on o_orderkey =
l_orderkey
11
6
© 2013 IBM Corporation
117
SQL サポート – Subqueries(サブクエリ)編
Big SQLはサブクエリ(副参照)もサポート:
select c1,
(select
count(*) from t2)
from t1
...
select c1
from t1
where c2 >
(select ...)
© 2013 IBM Corporation
118
SQLサポート – 関数編(⼀部抜粋)
今までのSQLで使われている関数もサポート
– Numeric
– Trigonometric
– 日付関連の関数
– ⽂字列関数
– Aggregates関数などなど.
abs ceil floor ln log10
mod power sqrt sign width_bucket
cos sin tan acos asin
atan cosh sinh tanh
_add_days _add_months _add_years localtimestamp _age
_day_of_week _day_of_year _week_of_year _days_between _months_between
_years_between _ymdint_between _first_of_month _last_of_month extract
char_length bit_length octet_length upper lower
substring position index translate trim
json_get_object
© 2013 IBM Corporation
119
カタログ・テーブルのサポート (Hcatalog編)
[localhost][foo] 1> select * fromselect * fromselect * fromselect * from syscat.tablessyscat.tablessyscat.tablessyscat.tables wherewherewherewhere
tablenametablenametablenametablename='users';='users';='users';='users';
+------------+-----------+
| schemaname | tablename |
+------------+-----------+
| default | users |
+------------+-----------+
1 row in results(first row: 0.14s; total: 0.15s)
[localhost][foo] 1> select * fromselect * fromselect * fromselect * from syscat.columnssyscat.columnssyscat.columnssyscat.columns wherewherewherewhere
tablenametablenametablenametablename='users';='users';='users';='users';
+------------+-----------+-----------+--------+-----------+-------+
| schemaname | tablename | name | type | precision | scale |
+------------+-----------+-----------+--------+-----------+-------+
| default | users | id | INT | 10 | 0 |
| default | users | office_id | INT | 10 | 0 |
| default | users | name | STRING | 0 | 0 |
| default | users | children | ARRAY | 0 | 0 |
+------------+-----------+-----------+--------+-----------+-------+
4 rows in results(first row: 0.19s; total: 0.21s)
Other BigInsights catalog tables track index and schema information
© 2013 IBM Corporation
120
ありがとうございました。
IBM BigInsights

Weitere ähnliche Inhalte

Was ist angesagt?

Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallShinpei Ohtani
 
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...Insight Technology, Inc.
 
Hadoopを用いた大規模ログ解析
Hadoopを用いた大規模ログ解析Hadoopを用いた大規模ログ解析
Hadoopを用いた大規模ログ解析shuichi iida
 
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...Insight Technology, Inc.
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントCloudera Japan
 
大規模ログ分析におけるAmazon Web Servicesの活用
大規模ログ分析におけるAmazon Web Servicesの活用大規模ログ分析におけるAmazon Web Servicesの活用
大規模ログ分析におけるAmazon Web Servicesの活用Shintaro Takemura
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告Amazon Web Services Japan
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...Masahiro Tomisugi
 
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...Insight Technology, Inc.
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)オラクルエンジニア通信
 
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...Insight Technology, Inc.
 
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-SORACOM, INC
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例terurou
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...Insight Technology, Inc.
 
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...Insight Technology, Inc.
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Cloudera Japan
 
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Web Services Japan
 
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Hadoop / Spark Conference Japan
 

Was ist angesagt? (20)

Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
 
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
 
Hadoopを用いた大規模ログ解析
Hadoopを用いた大規模ログ解析Hadoopを用いた大規模ログ解析
Hadoopを用いた大規模ログ解析
 
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイント
 
大規模ログ分析におけるAmazon Web Servicesの活用
大規模ログ分析におけるAmazon Web Servicesの活用大規模ログ分析におけるAmazon Web Servicesの活用
大規模ログ分析におけるAmazon Web Servicesの活用
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
 
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A33:Amazon DynamoDB Deep Dive by アマゾン データ サービス ...
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
 
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
 
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
 
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)
 
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
 

Andere mochten auch

JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57Takakiyo Tanaka
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようAkira Shimosako
 
DB2の使い方 管理ツール編
DB2の使い方 管理ツール編DB2の使い方 管理ツール編
DB2の使い方 管理ツール編Akira Shimosako
 
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門Akira Shimosako
 
DBパフォーマンスチューニングの基礎:インデックス入門
DBパフォーマンスチューニングの基礎:インデックス入門DBパフォーマンスチューニングの基礎:インデックス入門
DBパフォーマンスチューニングの基礎:インデックス入門Akira Shimosako
 
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄Akira Shimosako
 
アクセスプラン(実行計画)の読み方入門
アクセスプラン(実行計画)の読み方入門アクセスプラン(実行計画)の読み方入門
アクセスプラン(実行計画)の読み方入門Akira Shimosako
 
エバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫る
エバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫るエバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫る
エバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫るTakumi Kurosawa
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南Mikiya Okuno
 

Andere mochten auch (9)

JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
 
DB2の使い方 管理ツール編
DB2の使い方 管理ツール編DB2の使い方 管理ツール編
DB2の使い方 管理ツール編
 
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
 
DBパフォーマンスチューニングの基礎:インデックス入門
DBパフォーマンスチューニングの基礎:インデックス入門DBパフォーマンスチューニングの基礎:インデックス入門
DBパフォーマンスチューニングの基礎:インデックス入門
 
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
 
アクセスプラン(実行計画)の読み方入門
アクセスプラン(実行計画)の読み方入門アクセスプラン(実行計画)の読み方入門
アクセスプラン(実行計画)の読み方入門
 
エバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫る
エバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫るエバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫る
エバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫る
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南
 

Ähnlich wie IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)

Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopTakashi Kambayashi
 
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~ IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~ griddb
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTT DATA OSS Professional Services
 
Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera Japan
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~Developers Summit
 
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...NTT DATA OSS Professional Services
 
Soft layer環境でのdb2構成ガイド
Soft layer環境でのdb2構成ガイドSoft layer環境でのdb2構成ガイド
Soft layer環境でのdb2構成ガイドjapan_db2
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)NTT DATA OSS Professional Services
 
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~griddb
 
[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop
[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop
[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoopInsight Technology, Inc.
 
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編Kotaro Tsukui
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩Fumito Ito
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編GoAzure
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編ThinkIT_impress
 
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu GotoInsight Technology, Inc.
 
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...Insight Technology, Inc.
 

Ähnlich wie IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料) (20)

Hadoop loves H2
Hadoop loves H2Hadoop loves H2
Hadoop loves H2
 
Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for Hadoop
 
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~ IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 
Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
 
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
 
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tkHadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
 
Soft layer環境でのdb2構成ガイド
Soft layer環境でのdb2構成ガイドSoft layer環境でのdb2構成ガイド
Soft layer環境でのdb2構成ガイド
 
Oracle Big Data SQL3.1のご紹介
Oracle Big Data SQL3.1のご紹介Oracle Big Data SQL3.1のご紹介
Oracle Big Data SQL3.1のご紹介
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
 
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop
[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop
[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop
 
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編
 
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
 
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
 

Kürzlich hochgeladen

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Kürzlich hochgeladen (11)

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 

IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)

  • 1. © 2013 IBM Corporation Hadoop meets SQL – Big SQL InfoSphere BigInsights v2.1 IBM Hadoopソフトウェア・テクノロジー
  • 2. © 2013 IBM Corporation 2 本日の内容 お知らせ Hadoopとは InfoSphere BigInsightsの概要 Big SQLデモ
  • 3. © 2013 IBM Corporation 3 お知らせ:クイックスタート・エディションは無償で利⽤可能 非商用環境において、無期限・サイズ無制限で利⽤可能。 -提供形態:バイナリー版(インストーラー)⇒クラスタ環境構築可能 VMイメージ (本日のデモで使います) ここから ダウンロード ダウンロード:http://www.ibm.com/software/data/infosphere/biginsights/quick-start/index.html
  • 4. © 2013 IBM Corporation 4
  • 5. © 2013 IBM Corporation 5 超⼤容量のファイルを ⼀気に全て処理するための 分散ファイルシステムと バッチ処理システムの組合せ 作り込みが必要だが多様な目的に利⽤可 オープンソース Apache Software Foundation (http://hadoop.apache.org) Hadoopとは?
  • 6. © 2013 IBM Corporation 6 Hadoopの仕組みとコンセプト •「⼤量データ」を扱う、分散処理フレームワークの仕組み • HDFS・MapReduce •Hadoopのコンセプト • スケール・アップではなく、 スケーラビリティ重視のスケールアウト型 • 障害が発生することが前提(エラー忘却型) • データに対してプログラムを移動させる(ローカリティ) • レイテンシー(応答時間)ではなく、スループット重視 • システムレベル(分散)の隠ぺい
  • 7. © 2013 IBM Corporation 7 Hadoop処理の概念(ざっくり) 1台のサーバで 処理をするよりも、 複数台のサーバで1つの処理を 分割して処理する⽅が効率的 という考え⽅。 Webサーバログ等 RDB Webサーバログ、準構造化データ等を事前に 分割配置(HDFS)・・・・プログラムをデータ側へ。 RDB 20分 5分 5分 5分 5分
  • 8. © 2013 IBM Corporation 8 問題は単純:ハードディスクの高速化が追い付いていない – Seagate社の資料によるHDDの容量と転送速度 • 1990年 1.37GB ÷ 4.4MB/s = 311s =5分 • 2010年 1000GB ÷ 100MB/s = 10000s =2.7時間 – HDD1台の全データを読み出すのに3時間近くかかる 100台のHDDに分散する? – ハードウェア障害への対処が必要 • 故障率は⼀気に100倍 – 分散されたデータの結合をどう⾏うか? シンプルに言えば、この課題をHadoop-MapReduceと HDFS-で解決する データの保管と分析上の問題 これって DBMSでは解決 できない?でき る?Hadoopだ けが選択肢?
  • 9. © 2013 IBM Corporation 9 なぜ、分散させるのか? • 分散させる理由 • ⼤量データ処理では、ディスクIOがボトルネックになる。 • 分散させたデータは、保持しているサーバー自身が、それぞれ処理(読み込み、書き出 し)する ⇒「ローカリティ」という重要なコンセプト! CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU 分散サーバ⽅式 (シェアード・ナッシング⽅式) 1台のサーバで処理をすると、 ディスクIOが原因で全てのCPU を効率的に使えないことがある。 複数台のサーバで処理をすると、ディス クIOが原因になりにくくなり、全ての CPUをより効率的に使える。 CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU 共通 ストレージ CPUを使い 切れない ディスク IOネック
  • 10. © 2013 IBM Corporation 10 Hadoopにおける分散処理のポイント • 分散させる3つの理由 • ⼀般的なサーバを並べる <経済性> • 台数の増減が可能 <スモール・スタート/拡張性> • 内蔵ディスクをストレージとして、巨⼤なファイルを保存する <高価なストレージ必要なし> スケールアップ(CPUを増やす)では、 価格・性能限界がある。 ※OLTP処理にはDBは必ず必要です。 DBがいらいないと言っているわけではありません。 ⼀般的なサーバ複数台で処理をする のが、Hadoopそもそもの考え⽅。 CPUを2倍に しても処理性 能が2倍にな らない 分散させすぎて も付加増⼤にな るので注意
  • 11. © 2013 IBM Corporation 11 他のシステムとの比較:RDBMS 得意苦手全件処理 直線的非直線的 スケイラビリ ティ 動的なスキーマ (半・非構造化データ) 静的なスキーマ (構造化データ) 構造 書きこみは⼀度で、 読み出しは何度も⾏われる 何度も読み書きされる更新 バッチ オンラインも バッチも可 アクセス テラ〜ペタバイト〜テラバイト+データサイズ Hadoop (⼀般的な考えの) RDBMSSometimes termed “Schema First” or “Schema-on-Write” Sometimes termed “Schema Later” or “Schema-on-Read” ここではわかりやすいように主観的な比較をしています。
  • 12. © 2013 IBM Corporation 12 Hadoopとは何か? ジョブと呼ばれるアプリケーションを ペタバイト級のデータを処理可能なコモディティーなハードウェアによる ⼤きなクラスター上で実⾏するためのフレームワーク – コモディティーなハードウェア : Intel x86互換の比較的安価なPCサーバー でというのがもともと。 HDFSという名の分散ファイルシステムを提供する。複数のノードにデータを分散し、ク ラスター全体で高スループットを提供する。 Map/Reduceと呼ばれる演算パラダイムを実装する。アプリケーションはタスク単位に 分割され、クラスター上のデータの存在するノード上にて実⾏される アプリケーションに高信頼性と透過的なデータ処理を与えるフレームワークで データローカリティーを保証する 個別ノードの障害対応は自動的にフレームワークに より対処される。 ※ノード障害が発生したら、直さないと止まってしまうシステムではない、 ということ。
  • 13. © 2013 IBM Corporation 13 データローカリティーとは? ⼀般にプログラムは巨⼤データに比べると無視できるくらい小さい 現在のコンピュータはCPUに比べサーバー同士を繋ぐネットワークは とても遅い 分散システムにおいて、データではなく、プログラムを移動するほう がネットワーク通信コストが格段に低い ボトルネックを解消することで処理全体が 速くなる 処理対象のデータが物理的に存在するノード にて処理を実⾏する仕組を データローカリティーと言う Hadoopは分散ファイルシステムにて巨⼤ ファイルを分割して等しく分布させ、 処理対象のデータが存在するノードに プログラムを転送し、処理を実⾏する ため高速に分散処理が可能となる、 という考え⽅。
  • 14. © 2013 IBM Corporation 14 2002年 – Doug CuttingとMike CafarellaがOSSの検索エンジン開発を目的として WebクローラーNutchの開発開始 2003年 – Googleが自社検索エンジンで使⽤する分散ファイルシステム、 GFS論⽂公開 2004年 – 二人がGFSの論⽂を元にNDFS(後のHDFS)開発 – GoogleがMapReuduce論⽂公開 2005年 NutchにMapReduceを実装 2006年 NutchからHadoopとして独⽴ → もともとHadoopは、Google基盤システムについて記載された論⽂を元に、実 装を⾏い進化してきたもの Hadoopにまつわる年表
  • 15. © 2013 IBM Corporation 15 15 •Googleが提唱したテクノロジーを、Yahoo!が実装、 Apacheファンデーションに寄付。「⼤量データ」を 扱う、分散処理フレームワーク •Hadoopの構成要素 • HDFS (Hadoop Distributed File System) • 複数ノードのローカルファイルシステムを論理的に結合して、 1つの共有ファイルシステムを作成します。 • Hadoop MapReduce • MapReduce と呼ばれる分散コンピューティングモデルに基 づくプログラムを Java で作成するためのフレームワークを 提供します。 MapReduceは単純な仕組 み。Googleが⼤規模デー タ処理を実現し、その有⽤ 性を具現化したYahoo!の 貢献は⼤きいといえます。 このように分散処理への取 り組みのハードルを低くし たといえます。
  • 16. © 2013 IBM Corporation 16 16 Hadoopがなぜ開発されたか? • Googleに代表されるインターネット・サービスを提供する企業 は、検索インデックス作成や、Webサーバのアクセスログなど の解析のようなレコード単位の単純な処理を⼤量データに対して 処理を⾏う作業が必要です。 • 今までは、このような処理は対象データを分割し、複数サーバで、 それぞれ処理を⾏い、結果を集計するという分散処理を⾏い処理 時間を短くしていました。 • Googleでは、このような処理を自動化できないか?という目的 で独自処理フレームワークを開発しました。このフレームワーク では、各レコードに対する処理指⽰を記述するMAP関数と、そ の結果を集計するREDUCE関数を記述すると、上記の分散処理 と集計が自動的に⾏われます。 • Googleが、このフレームワーク概要をMapReduceという呼び⽅ をし紹介しました。そして、Yahoo!がこのフレームワークを Hadoopとして実装しました。
  • 17. © 2013 IBM Corporation 17 参考:日経コンピュータからの抜粋
  • 18. © 2013 IBM Corporation 18 Hadoopの特徴 バッチ処理に威⼒を発揮 – 従来数時間〜数日要していた処理を短時間で処理 – 処理を分割して複数のサーバで分散処理を実⾏ 高いスケーラビリティ – 容易にスケールアウトが可能 – サーバ増設で格納容量,処理性能を向上 – 数台〜4000台程度までのHadoop環境を構築可能 特定のサーバが故障してもサービス継続 – データは分割・分散配置 – 処理に異常が発生する場合は、他サーバで再実⾏ コモディティな製品で構成可能 – 10〜50万円/ノード(ディスク容量当たりのCPU&メモリを安価に) – 特定ベンダの特別な製品は不要 敷居が高かった分散並列処理を⼀般業務に安全に利⽤できるようになった (並列化に考慮するが分散の意識不要) 出典:O’Reily,Hadoop第2版,OSC2012 DB(2012年7月)日本Hadoopユーザー会講演より(⼀部補筆)
  • 19. © 2013 IBM Corporation 19 参考:Hadoopに対してよくある誤解(不得意) 誤解1: (RDBMSのような)高速なデータアクセス – ミリ秒単位の処理をHadoopに求めてはいけない ※ただし、このリアルタイム化が進んでいます。 ※HBaseも(少量ならHiveも)それなりのレスポンスタイムが実現できるケースがあります。 誤解2: ⼤量の小さなファイル –Hadoopは小さなファイルを扱うのが苦手である 誤解3: 複数のライターからの書き込みや,任意のファイル 修正 –書き込みは常にファイルの末尾に⾏われる –複数ライターのサポートはない ◎⼤量データに特化したバッチシステム –オンライン処理は不向き(スループット優先) –データは⼤きな塊として扱うことが望ましい 出典:O’Reily,Hadoop第2版,OSC2012 DB(2012年7月)日本Hadoopユーザー会講演より(⼀部補筆)
  • 20. © 2013 IBM Corporation 20 Hadoop/MapReduce が向いている」もの • 日々膨張する蓄積データ • 毎日数百GBずつ生成されるログのようなデータへの対応ができる • HDFSならサーバを買い足して増強できる • IO ボトルネックで⻑時間かかるジョブがある • シェアードナッシングによる分散処理での解決可能性 • ⼤量データを同時処理し、ソートやマージ処理がくり返される • MapReduceはそのためのフレームワーク ※個別処理なら、別の選択肢もありえることを忘れない! • 準構造化・非構造化データ • 今はMapReduceに向いていないが、将来、蓄積された処理結果を 統計分析などする可能性がある • 最初から、蓄積先をHDFSに入れ、MapReduceで分析するとよいのでは? データが分割、 処理が分割で きることが前 提 アーカイブと して利⽤する のは、コスト 的に?の場合 がある。
  • 21. © 2013 IBM Corporation 21 Hadoop/MapReduce が向いていない」もの • 少ないデータ量 • Hadoopは,TB/PBクラスのデータ量を処理することが前提。 • 基本的に100GB以上はほしい • でも、数十GBなら、Hadoop分散処理効果は得られるはず →トライ&エラー • ノウハウが必要(結局、うまくいかない場合もある) • IO ボトルネックになっていない処理 • 分散させても、IOネックは関係はない。 • 処理の計算コストは分散低減(CPU負荷分散)はできる可能性はある。 • ×××× 処理の途中で更新がある。 • ×××× DBと同じトランザクション処理。 • ミッション・クリティカル・システムへの適応?(時期尚早?) →ファイルシステム改善?Hadoopアプライアンス? IBMはこれらの課題をアドレスします。 • ×××× 応答時間を求められている処理(OLTP処理)。 • ×××× 分割をしたら、結果が変わる処理(MapReduceの特性の理解)。 • ×××× シーケンシャル番号を割り当てる処理(DBのSeqに相当)。 • ×××× 処理順序が厳密に求められる処理。 • 計算ノードからの応答は順不同 データが少な いと、分割負 荷が相対的に 大きくなる データが分割 処理ができる ことが前提 途中での更新 はできない。 (Hbaseの活 用はできる)
  • 22. © 2013 IBM Corporation 22 Hadoop基盤の特徴の理解が必要 Hadoopは、SWとHWの両面において「汎用化」を⾏うことで、相対的 に安価な基盤で、ユーザーの開発生産性を高めつつ、⼤容量データ処理 を実現しています。 データノード データノード データノード MapReduce B1 B2 HDFS MapReduce B3 B4 HDFS Map Shuffle MapReduce B5 B6 HDFS TT TT TT ネームノードJT HDFS メタデータ Core Core Core Core HDD HDD mem Core Core Core Core HDD HDD mem Core Core Core Core HDD HDD mem APL (バッチ) 投入 Map Shuffle Reduce Map Shuffle Reduce ソフトウェア ハードウェア 「コモディティ」なHWでの利⽤を前提とした設計 IAサーバー、内蔵SATAディスク、1GbEネッ トワークなど… 「スケールアウト」による性能拡張 各ノードの性能を高めるより、同じスペックの 「安価な」ノードを追加することで性能向上 並列分散処理として汎⽤化できる部分をフレーム ワークとして吸収(全てではない) MapReduce、Hive… (IBMはJaql言語) 可⽤性、性能向上はソフトウェアの仕組みとして対応 HDFSのファイル分散、冗⻑化のよるデータ保護 障害時は、ノードごと交換する運⽤⽅針
  • 23. © 2013 IBM Corporation 23 並列処理フレームワークである” MapReduce”と、⼤量データを格納す るための専⽤分散ファイルシステム である“HDFS” から構成されます。 計算ノード 計算ノード計算ノード Hadoop のアーキテクチャー概要 ・・・ Hadoop Distributed Filesystem (HDFS) 計算ノード群(仮想的に1つのストレージに⾒える) MapReduce エンジンそれぞれノードから同じデータ が参照可能。(実際のデータは、 各サーバーのローカルディスク に分散配置) MapReduce エンジン MapReduce エンジン 管理ノード JobTracker MapReduce タスクをディスパッチ (計算ノードの停止時には、タスクを再ディスパッチ) Jobの実⾏を管理およびTaskの ディスバッチを⾏う 内臓ディスク 内臓ディスク 内臓ディスク
  • 24. © 2013 IBM Corporation 24 HDFSは仮想(アプリで実装された) 分散ファイルシステム / user dir1 dir2 dir3 どのマシンからも同じ ファイルが⾒られるが、 専⽤コマンドが必要 ファイルやディレクトリー は専⽤のコマンドにて作成
  • 25. © 2013 IBM Corporation 25 HDFS: アーキテクチャー いわゆる中央 管理システム
  • 26. © 2013 IBM Corporation 26 ネームノードとデータノード マスター/スレーブ方式 – ネームノード (マスター) • HDFSの名前空間を管理 • ファイルシステム内のツリーと、ツリー内の全ファイル及びディレクト リーのメタデータをメモリー上にて管理 • SPOFのためHA等を⽤いた冗⻑化が必要 – データノード (スレーブ) • ブロックの読み書き • ネームノードに定期的に保管しているブロックリストを報告 • データノードが故障しても全体に影響がない
  • 27. © 2013 IBM Corporation 27 参考:HDFSとは 〜Hadoop専⽤ファイル・システム〜 HDFS:(Hadoop Distributed File System) – 複数台のマシンをN/W連結し、⼤きなストレージを形成している。⼤きなファイルを複数のスト レージにまたがり格納することができる。 Name ノード(←これがSPOFがあると言われる所以。対応必要。NameノードとHDFSをHA化する取り組みも進んでいます) – データノードに分散された実データのある場所を記憶する。 Secondary Nameノード – メタデータの変更の際に記述された変更内容のジャーナルを元に、ファイルに保存されたメタデ ータ情報を定期的に最新の状態に更新する。 – メタデータ情報を保存するファイルとエディットログファイルは、冗⻑性のために、各ノードの ローカルファイルシステムとNFS マウントしたリモートディスクの2 箇所に保存する。 Data ノード – HDFS独自のブロック転送プロトコルによりデータブロックを転送する。またHTTPによりデータ を提供すること ができ、WEBブラウザ等のクライアントからのアクセスを処理できる。データ ノード間はお互いに通信し、データ再配置、データコピー、冗⻑性維持を⾏うことができる。 データはファイル単位ではなくブロック単位で各ノードに分散される。 ・ ・ ・ ・ ・ HDFSへデータを 分散保存 Data Node+Task Tracker Node データ Map Data Node+Task Tracker Node Mapデータ Data Node+Task Tracker Node Shuffle Data Node+Task Tracker Node Reduce Reduce Data Node+Task Tracker Node Reduce 結果 A 結果 B 結果 C 結果Shuffle Nameノード Shuffle Job Tracker Secondary Nameノード 実際のデータを保存 ファイルシステ ムのメタデータ を管理
  • 28. © 2013 IBM Corporation 28 HDFSにおけるファイルの書込 コピー作成に失敗しても規定数以上のブロックが作成できれば書込は成 功し、HDFSが引き継いだ後に、コピーを後から増やす コピーを保存する ノードもネームノードが 決定する
  • 29. © 2013 IBM Corporation 29 29 Hadoopでは、障害は発生することが前提 〜HDFSと自動レプリカの仕組み〜 データノード群 A1 A2 A3 B1 B2 B3 ファイルA ファイルB A1 A1 A2 A2 A2 A3 A3 A3 B1 B2 B2 B3 B3 三つのレプリカ 二つのレプリカ ネームノード このマシンが ダウンしたら・・・ 別の正常なマシンから レプリカが再実⾏される A1 B1 A1 B1
  • 30. © 2013 IBM Corporation 30 HDFSは、OS上に構築する仮想ファイルシステム。つまり、 アプリケーションと同じレイヤー Hadoopで処理をしたいデータは、HDFSへコピーする必要がある。 – HDFSがPOSIX準拠ではないため。 Linux OS / Linux File System HDFS ハードウェア・レベル HadoopAP L AP L AP L わかりやすく、HDFSの概念図 〜Hadoop専⽤ファイル・システム〜
  • 31. © 2013 IBM Corporation 31 よくあるケース)バッチ処理にかかる総コスト 〜DBからデータをHadoopに移動させるケース〜 Hadoop処理にかかるコスト = { A(DBからのデータ移動)+B(HDFSへのコピー)+C{分散コスト+ 処理コスト+集約コスト}+D(結果書き戻しコスト)+E(DBへの データ移動) } →これが、現状処理よりも時間短縮になれば、Hadoop処理の効果あり。 Linux OS / Linux File System HDFS(非POSIX準拠) ハードウェア・レベル 分散Hadoop処理 APL APL B A D E C エキスポート インポート
  • 32. © 2013 IBM Corporation 32 HDFSに向かない処理 ×低レイテンシのデータアクセス – スループットに最適化 ×⼤量の小さなファイル – 最⼤ファイル数はマスターノードのメモリ容量に制限される ※計算すればよい。 ※⼤量の小さなファイルを1つのファイルとして扱う手段が⽤意されている。 ×複数の同時書込や任意ファイルの修正 – 書込は常に新規か追記のみ – 任意位置からの書込不可(将来は不明) • 通常のファイルシステムはseekできますが、HDFSは現在できません • POSIXで規定されたファイルアクセスのAPIに足りないものがあります • Linux上でマウントできません
  • 33. © 2013 IBM Corporation 33 参考:コマンドラインインターフェース HDFSはコマンドで操作可能 – 例:hadoop fs –ls / ルートディレクトリーのリストを表⽰ – hadoop namenode –format ファイルシステムをフォーマット – hadoop fs –mkdir /user/hadoop ディレクトリーの作成 – hadoop fs –copyFromLocal huge.log /user/hadoop コピー ファイルシステムの指定にURIスキームを利⽤可能 – file://localfile/ – hdfs://hadoopdfs/ – ftp://pub/rhce/rpm/ POSIX相当のファイル操作APIがJavaライブラリーにある – ただし、⼀部のAPIが欠けている
  • 34. © 2013 IBM Corporation 34 参考:Webインターフェース : ポートはデフォルトでは50030 と 50070
  • 35. © 2013 IBM Corporation 35 HDFS まとめ HDFS : Hadoop Distributed File System Javaで書かれた分散ファイルシステム マスタースレーブ形式でネームノードとデータノードに分かれる スループットに最適化 (レイテンシは良くない) ネームノードはファイルシステム全体のメタデータを管理する 全てのデータはデフォルトで3コピー取られる(データはもともとの4倍量) 冗⻑性に優れデータノードの⼀部に障害が発生しても全体に影響が出ない ただしネームノードはSPOFとなるので冗⻑化を必要する(仕組みがある)
  • 36. © 2013 IBM Corporation 36 MapReduceとは何か Map処理とReduce処理 –関数型言語の分散処理への応⽤で、アプリケーションフ レームワーク –演算パラダイム、つまり枠組み •工夫であり、制約でもある ※ここがYARNでMapReduceの枠を超えられる –ざっくりと言うと、以下の二つの関数で処理される •map (in_key, in_value) -> (inter_key, inter_value) list •reduce (inter_key, inter_value, list) -> (out_key, out_value) list 36
  • 37. © 2013 IBM Corporation 例)MapとReduceの処理フローの概念 ①mapでデータを操作し、②reduceでデータを集約する ※mapもreduceもデータの全体を知る必要がない この例:入⼒ファイルからdogという単語とcowという単語の出現 回数数をMapReduceで数える例(よく言う、ワードカウント) Unixだと
  • 38. © 2013 IBM Corporation 38 クラスター上でのMapReduceによる並⾏処理 mapとReduceの間に Shuffleフェーズが存在し、 全データはソートされる HDFSにある 巨⼤な ファイル群 mapもreduceも プログラムが配信 される
  • 39. © 2013 IBM Corporation 39 参考:Tips HDFSは巨⼤なファイルをクラスター上に分散する MapReduceはMap処理をデータの存在するノードに分散 – 巨⼤なデータの転送無しにデータ全体の処理が⾏われる – データが複数のノード上で多重I/Oが⾏なわれるので速い – 全体のパフォーマンス向上のためにはさらにMapの出⼒をできる限り減らす ことが重要 • MapからReduceへのデータ移動はネットワーク上の転送になるShuffleは ソートを⾏う – 同じキーのデータは同じReducerに集まる→集約が⾏える Reduceも分散できるが、デフォルトでは分散しない – 例えば全てのデータの合計値が欲しい場合にはreducerを1つにするしかない – Reducerを複数に指定すると出⼒ファイルも複数になる • 例えば先の⽝と⽜のそれぞれの合計を数える場合、Reducerは2つにして 良い – 処理の特性に合わせてReducerの数を調節することが重要 • デフォルトの1つでは⼤抵の場合遅いので注意
  • 40. © 2013 IBM Corporation 40 参考Tips:入⼒スプリット(後述) Mapへの入⼒はsplitと呼ばれる単位に切り分けられる map関数はsplit中のレコードを繰返し処理する splitが小さければタスクの数が増え平⾏度が増す 全体のロードバランスが良くなる splitを小さくし過ぎるとタスク生成のオーバーヘッドが⼤きくなる 通常、splitのサイズはブロックと同じ(例:128MB)にしておく
  • 41. © 2013 IBM Corporation 41 HadoopにおけるMapReduceの実装 通常はJavaで記述 – 他の言語でも可能(Pig, Hive(HiveQL),JAQL,SQL, Hadoop Streaming) JavaでHadoopのライブラリーを⽤いてプログラムを作成 – main関数を持つアプリケーション – jarで固める • manifestでmainクラスを指定 hadoopコマンドにて実⾏ – MRアプリは⼤量のjarファイルに依存するので簡便のためhadoopスクリ プトを使う • hadoop –jar user_program.jar [mainクラス名] 入⼒パス 出⼒パス – 入⼒パスはファイルかディレクトリー名。 • ディレクトリー指定では中のファイル全てを処理します – 出⼒パスは存在しないディレクトリー名。存在する場合エラー • reduceの出⼒は出⼒パスにreduceの数のファイルとして記録される
  • 42. © 2013 IBM Corporation 42 MapReduceの基本 MapReduce の基本: Divide & Conquer –大きな問題を小さくして解決する 42 Map Reduce Map Map TaskTracker TaskTracker TaskTracker TaskTracker TaskTracker JobTracker main run Reduce ジョブの 実⾏依頼 タスクの 実⾏分配 タスク/ Job配布 データ 移動 Spawn JVM Spawn JVM Spawn JVM データがある 場所でプログ ラム実⾏ Spawn JVM Spawn JVM ⇒プログラム プログラム
  • 43. © 2013 IBM Corporation 43 MapReduce とは (1) 広義にとらえるとMapReduceは、並列処理のための分散計算手法です。 – 考え⽅は非常に単純で、次の 2つのステップでデータを処理するというだけのものです。 • ステップ#1:処理対象のデータをレコード毎に処理して、それぞれの結果をキー とバリューの組で表現する。⇒ これがMap 処理 • ステップ#2:同⼀のキーを持つ結果毎に処理結果を総合して、最終結果を取り出 す。⇒ これがReduce 処理 –例えば、1000ページのドキュメントに含まれる IBM と Linux いう単語の 出現回数を検索。 • 1 レコードは、1 ページ分のテキストで、処理結果のキーとバリューは、単語 (IBM、もしくは、Linux)とその出現回数とすると下記の MapReduce 処理で結果 を得ることができます。 ページ毎に処理を⾏う (Map) ページ 1 (IBM, 3 回) (Linux, 1 回) 単語毎に結果を合計する (Reduce) 合計 (IBM, 102 回) (Linux, 293 回) ・・・ ページ 2 (IBM, 0 回) (Linux, 2 回) ページ 1000 (IBM, 0 回) (Linux, 0 回)
  • 44. © 2013 IBM Corporation 44 MapReduce はデータ処理の⼿続きを定めているだけであり、 実際のMap 処理と Reduce 処理の内容は、解くべき問題に応 じて、個々に考えて実装する必要があります。 Google では、次のようなデータ処理を MapReduce モデルで実装していると言っています。 – Web サイト内の⽂字列検索 – URL 毎のアクセスカウント(Web サーバーのアクセスログの解析) – 特定の URL にリンクを貼っている Web サイトのリストの作成 – Web サイト毎の単語の出現回数のリストの作成 – 特定の単語が含まれる Web ページのリストの作成 – ⼤規模なソート処理 Google では、平均的に次のような規模の MapReduce 処理を実装していると言っています。 – 使⽤ノード数 2,000 – map 処理の分割数 200,000 – reduce 処理の分割数 5,000 MapReduce とは (2)
  • 45. © 2013 IBM Corporation 45 45 <Key, Value> <Key, Value><Key, Value> <Key, Value> <Key, Value><Key, Value> Map Map Map Reduce <Key, Value> <Key, Value> OutpurFormat Split Split Split input input input InputFormat シャッフル(ソート){内部処理}Driver 出⼒ファイル(HDFS) <Key, Value> <Key, Value><Key, Value>ジョブ投入 処理の分散 実⾏を制御 処理結果の 集約を制御 分散を意識 する必要は ありません。 Keyと Valueの 構造 Hadoopクラスタ 入⼒ファイル (HDFS) MapReduceの内部構造 Reduce プログラム 実装 プログラム 実装 並列度が決 まる(インプット をどのサイズで分割す るのか?)
  • 46. © 2013 IBM Corporation 46 MapReduceの例(1):ワード・カウント編 〜Map処理(アプリケーションとしてプログラム実装が必要)〜 46 IBM enables new solutions to gain insights from unprecedented information flows, which are exploding in volume, variety, velocity and vitality. These flows are so large they define a new category: big data. They offer tremendous potential for deep insights that provide greater efficiencies, value add services and opportunity for transformation. No other company offers the depth and breath of innovation and experience like IBM does in the big data space. From ultra-low latency information-in-motion analytics capabilities offered via InfoSphere Streams, analytics oriented data warehouse solutions, to our innovative InfoSphere BigInsights, IBM has an unique breadth of big data capabilities with a holistic approach. InfoSphere BigInsights is an analytics platform that delivers unique IBM Research, IBM Emerging Technologies and IBM Software capabilities on top of Apache Hadoop framework enabling new solutions on a business-ready platform. IBM has a holistic approach, expanding analytics to encompass big data, information streams, and structured data in Data Warehouses. IBM 1 enables 1 new 1 solutions 1 to 1 gain 1 insights 1 from 1 unprecedented 1 information 1 flows 1 which 1 Map出⼒ の結果 テキストを単 語に分解して、 出現頻度を数 えます。
  • 47. © 2013 IBM Corporation 47 47 IBM 1 IBM 1 IBM 1 IBM 1 : IBM 1 enables 1 enables 1 enables new 1 new 1 new 1 new 1 IBM 1,1,1,1,….1 enables 1,1,1,1 new 1,1,1 solutions 1,1,1 to 1,1,1,1,…., 1 gain 1,1 insights 1,1,1,…..1 from 1,1,1,1…..1 unprecedented 1 information 1,1,1,1 flows 1,1,1 which 1,1,1,1…..1 MapReduceの例(1):ワード・カウント編 〜ソート・シャッフル(内部処理)〜 次に、単語毎 に整理して、 出現頻度を数 えます。
  • 48. © 2013 IBM Corporation 48 48 IBM 1,1,1,1,….1 enables 1,1,1,1 new 1,1,1 solutions 1,1,1 to 1,1,1,1,…., 1 gain 1,1 insights 1,1,1,…..1 from 1,1,1,1…..1 unprecedented 1 information 1,1,1,1 flows 1,1,1 which 1,1,1,1…..1 IBM 201 enables 4 new 3 solutions 3 to 3021 gain 2 insights 583 from 1028 unprecedented 1 information 4 flows 3 which 128 MapReduceの例(1):ワード・カウント編 〜Reduce(アプリケーションとしてプログラム実装が必要)〜 出現回数を単 語毎に纏めて 数えます。 最後に集計結果をまと めます。
  • 49. © 2013 IBM Corporation 49 MapReduceの仕組み/キー別スコアの合計を求める <A,10> <B,20> <C,30> <A,40> <A,{10,40,20}> <C,{30,20}> <B,50> <D,40> Map Map Map HDFS HDFS HDFS Reduce Reduce シャッフルシャッフルシャッフルシャッフル(Shuffle) 同じキーで再配置同じキーで再配置同じキーで再配置同じキーで再配置&集計集計集計集計 この例は,この例は,この例は,この例は,SELECT KEY,SUM(VAL) FROM T GROUP BY KEY に相当する。に相当する。に相当する。に相当する。RDBMSならばどのように並列処理されるかならばどのように並列処理されるかならばどのように並列処理されるかならばどのように並列処理されるか <D,10> <A,20> <D,20> <B,20> <B,10> <C,20> <D,10> <B,{20,20,10}> <D,{10,20,10}> <A,70> <C,50> 集計集計集計集計 集計集計集計集計 集計集計集計集計 集計集計集計集計 スコア一覧ファイルスコア一覧ファイルスコア一覧ファイルスコア一覧ファイル A,Q1,10,Q2,50,Q3,20 B,Q1,20,Q2,10,Q3,40 ・・・・・・・・・・・・・・・・・・・・ スコア一覧ファイルスコア一覧ファイルスコア一覧ファイルスコア一覧ファイル A,Q1,10,Q2,50,Q3,20 B,Q1,20,Q2,10,Q3,40 ・・・・・・・・・・・・・・・・ ()))) ファイルはファイルはファイルはファイルはHDFSにににに ブロックサイズブロックサイズブロックサイズブロックサイズ単位単位単位単位 にににに分割されて各ノー分割されて各ノー分割されて各ノー分割されて各ノー ドに配置されるドに配置されるドに配置されるドに配置される <A[Key],70[VAL]>
  • 50. © 2013 IBM Corporation 50 RDBMS(DPF)/区分キーの設計に依存する 選択 選択 選択 区分 区分 区分 30C 40A 20 10 VAL B A KEY 40D 50C 50B 70A SUMKEY 20C 10B 10 20 VAL D B KEY 20 20 10 VAL D A D KEY 集計 集 計 集 計 集 計 シャッフルがないのシャッフルがないのシャッフルがないのシャッフルがないの で,誰か(コーディで,誰か(コーディで,誰か(コーディで,誰か(コーディ ネータノード)が最ネータノード)が最ネータノード)が最ネータノード)が最 後に集計を行わな後に集計を行わな後に集計を行わな後に集計を行わな ければならないければならないければならないければならない SELECT KEY,SUM(VAL) FROM T GROUP BY KEY 30C 20 50 SUM B A KEY 20 30 SUM A D KEY 20C 10 30 SUM D B KEY スコア一覧スコア一覧スコア一覧スコア一覧あらかじめ区分あらかじめ区分あらかじめ区分あらかじめ区分 キーで分割キーで分割キーで分割キーで分割 偏ったまま偏ったまま偏ったまま偏ったまま
  • 51. © 2013 IBM Corporation 51 MapReduce/分布に偏り少なく並列処理に有利 <A,10> <B,20> <C,30> <A,40> <A,{10,40,20}> <C,{30,20}> <B,50> <D,40> Map Map Map HDFS HDFS HDFS Reduce Reduce シャッフル(Shuffle) 同じキーで再配置&集計 SELECT KEY,SUM(VAL) FROM T GROUP BY KEY <D,10> <A,20> <D,20> <B,20> <B,10> <C,20> <D,10> <B,{20,20,10}> <D,{10,20,10}> <A,70> <C,50> 集計 集計 集計 集計 出現回数に偏りが あっても・・・ リストの⻑さは偏って もReduce後には均等に
  • 52. © 2013 IBM Corporation 52 ここまでのまとめ Hadoopは超巨⼤なファイルを効率よく処理するバッチフレームワーク、 と位置づけられます。 ※常に進化していることも事実。YARNなど。 HadoopはHDDの遅さに考慮して、データローカリティーを重視した 考え⽅に基づきます。 HadoopはHDFSという分散ファイルシステムを持ちます。 HadoopはMapReduceというパラダイム(プログラム実⾏フレーム ワーク)を⽤いてアプリケーションを作成します。
  • 53. © 2013 IBM Corporation 53 Hadoop common HDFSとMapReduceのことをHadoop commonと呼びます – 注:厳密にはcommonにはHDFSもMapReduceも含まれないコアのユーティリティーのみを意味す るはずですが、実際にはcommonとHDFS、MapReduceは同梱して配布されているためここでは commonに含まれるとします。 Hadoop commonは巨⼤ファイルをバッチ処理することに特化したシステムです。 – 巨⼤なファイルを扱うためのファイルシステムであるHDFS – HDFS上にて分散されたデータの存在するノードに、アプリを配布して処理する MapReduce Hadoop commonは基本的にこの目的にしか使えません! Hadoopの限界を考えずにHadoopを使うと失敗します。 – よくある失敗例 • Hadoopをオンライン処理に⽤いる レイテンシが高く、ジョブ配布コストがあるので1ジョブの終了には短かくても数十秒~30秒近くかかります。 • Hadoopを通常のネットワークファイルシステムとして常⽤する 小さなファイルには向きません。更新できません。ファイル復旧、バックアップ手段等まだ足りません。 • Hadoopを仮想環境で利⽤する データローカリティーを実現できず、スケールしません。(特別な対処、仕組みを用いていない限り。。。)
  • 54. © 2013 IBM Corporation 54 Hadoop commonの限界 HDFSはOSにマウントできない – HDFSとローカルファイルシステムの間でデータのコピーが必要となる HDFSは巨⼤なデータにしか効率が良くない – 小さなデータを扱うのは苦手 HDFSは更新できない MapReduceを⽤いれば必ず巨⼤なファイル全体をアクセスしなければならない – シーケンシャルファイル、Mapファイル等の⼀部例外は存在する MapReduceはプログラム開発の難易度が高い – 関数型言語の高階関数による技法が必要 – セカンダリーソート等MapReduce向けのパターンの習熟(職人芸の領域!) MapReduceはオンライン処理には向かない – Hadoop税(MapReduceの⼀蓮の処理にかかるコスト)が高い
  • 55. © 2013 IBM Corporation 55 Hadoop commonに足りないもの HDFSと外部との効率的なデータ交換手段 – HDFSはOSにマウントできないため、また追記しかできず更新ができないため、HDFS外部との巨 ⼤データの効率的な交換⽅法が必要になります – 例: RDBMSのデータとHDFSとの間のデータの交換 ⇒sqoopや連携ツールが用意されはじめました。 MapReduceジョブの管理ソフトウェア – Hadoop上での処理は1度のMapReduceでは完了しない場合がほとんどです – 複数のMapReduceジョブを依存関係を考えながら連続して実⾏する管理ソフトウェアが別にあるほ うが運⽤が楽になります。 ⇒AsakusaやPlatform Symphonyはこのあたりを効率化してます。 HDFSに直接ログを取る手段 – HDFSはOSにマウントできないので通常のアプリはHDFSに直接書き込むことができません – しかし⼤量のログをまとめてHDFSにコピーするのは時間がかかります – 何らかの⽅法でアプリをログをHDFSに連続して書き込む手段があると効率が良くなります ⇒IBMのGPFS-FPOや、HDFSの代替ファイルシステムも登場しています。 などなど
  • 56. © 2013 IBM Corporation 56 非構造化データ 構造化されていないデータ 自由フォーマットのテキスト等 テキストに繰り返し等の⼀定の構造があっても非構造化データと判断される場合 も多い → 例: Apacheのログとか 半構造化データ 厳密な定義はないが、XMLやJSON等のある構造の中に非構造化データ RDBに対し、半構造化データのデータストアはスキーマレスなDBと表現される データ構造から考える向き不向き Hadoop commonは原則ファイルシステムを⽤いるので非構造化データを扱うのに向く。 構造化データを扱うにも⼀旦テキストファイルに落とす必要が出てくる。例: RDBMS のテーブルをCSVとしてエクスポートしHDFSにコピー 構造化データ スキーマを⽤いてデータの要素の型が厳密に定義され、個々のデータが厳密に 等しい型に基づく
  • 57. © 2013 IBM Corporation 57 色々ありますが、Hadoopを活⽤する時に Hadoop common、すなわちHDFSとMapReduceは 低レイヤーのプラットフォームと考える – 利⽤⽅法の自由度が高いので開発コストは高いが、当然、失敗もしやすい ※運⽤上、commonの知識の重要性は従来と変わらない Hadoop単体でなく、上位レイヤーのソフトウェアの利⽤を最初に考慮する – 上位に相応しい物が無い場合に初めてcommon上で自主開発を⾏う ⇒これはかなりハードルが高い。BigInsightsはBig SQLや ツールキットを用意しています。 Hadoopは既にエコシステムの中心である – Apache Foundationには Hadoopを利⽤する トッププロジェクトが数多くある Common Apache Hadoopエコシステム →
  • 58. © 2013 IBM Corporation 58 参考:Hadoop commonの限界を越える Oozie、IBM Oozie拡張ジョブ管理システムがない HBaseオンライン処理には向かない Hive、Pig、Jaql, SQLプログラム開発が難しい 対処問題 HBase、Hive全てのデータにアクセスする必要があるMapReduce GPFS-SNC、Gfarm、Ceph等OSにマウントできないHDFS Mahoutなど高度なライブラリーが不足 Hive, Pig, Jaql, HBaseデータがファイル形式のみ HBase更新できない HBase少量のデータに向かない
  • 59. © 2013 IBM Corporation 59 HDFSはOSにマウントできない IBM : GPFS-FPO IBM製の分散ファイルシステム POSIX準拠、OSマウント可能、SPOFがない HDFSをGPFS-SNCに取り替えることでHDFS使⽤に対し2倍の高速化を達成 – MapReduce Benchmarks on a 16-node cluster with 4 SATA disks per node comparing GPFS-SNC to HDFS – http://www-03.ibm.com/press/us/en/pressrelease/33036.wss SuperComputing Challenge 2010で優勝 OSSの分散ファイルシステムの利⽤ Ceph、Gfram、GlusterFS等多数 Linux上にて通常のファイルシステムとしてマウント可能 HDFSの代替に⽤いるプロジェクトが複数動いています – ただし、データローカリティまで対応しているものはまだ少い
  • 60. © 2013 IBM Corporation 60 半構造化データを⽤いるために Jaql(ジャックル) 処理対象:構造・半構造データ IBMが開発 スクリプト言語でMapReduceより生産性が高い 通常の開発言語と同じ記述⼒-手続き型の記述に適している Jaql実⾏はMapReduceに変換されてHadoopクラスター上で実⾏される ⼊出⼒にJSONが使える – HDFS、GPFS-SNC上にJSONがシリアライズしたバイナリとして保 存されるため効率が良い
  • 61. © 2013 IBM Corporation 61 構造化データを利⽤するために Apache Hive http://hive.apache.org スキーマ定義が必要(CREATE TABLE) Hadoop上にデータベース(制約有り)を構築する スキーマを⽤いることが可能 SQLライクな(SELECTなど)HiveQLクリプトを⽤いてデータにアクセスできる – MapReduceに変換されて実⾏される 更新はできない 通常の⾏指向のみでなく、列指向のテーブルを作成可能 – ⾏指向アーキテクチャーはインタラクティブなトランザクションの多い OLTP 的な⽤途に向く – 列指向アーキテクチャーは少数の複雑なクエリを実⾏するデータウェアハウスのような OLAP 的な ⽤途に向く パーティション分割が可能で、データ全体にアクセスする必要が無い 注: RDBMSの代替には成りません。
  • 62. © 2013 IBM Corporation 62 列指向データベース : HBase HBase – http://hbase.apahce.org GoogleのBigTableの論⽂を元にHadoop上に実装した列指向データベース – KVSやNoSQLの代表例として挙げられる場合が多い – 列を⾏別に自由に追加できる。柔軟な設計と巨⼤な⾏データの作成が可能 Hadoop上にて小さなデータの挿⼊や更新を可能に – HDFS上に世代別ファイルを作成することで⾒掛け上の更新を実現し ている – "Strong Consistency": データの値がreadに対し一貫性を持つ ランダムライト、シーケンシャルリードが高速 – シーケンシャルライトが苦⼿。書込時にキーがランダムに分散していることが望ましい • BigTableと同じ⽅法により将来的には解決の⾒込 データを⼤量に書き込んだ後、MapReduceで解析することが得意 – ⼤量のデータを相手にリアルタイム性の高い処理の構築が可能 ※既に、Facebook, LINEさんが使われています。
  • 63. © 2013 IBM Corporation 63 参考:ジョブ管理システム 全ての処理が1回のMapReduceで終了する訳ではない 例えばグラフの探索は幅優先探索で⾏うため常にグラフ全体の構造と現在の位置を入⼒に して同じMRを繰返すことになる 多段のMapReduceは多段のjobであり、多段の依存batchになる 現状ではHadoopには標準のbatchスケジューラーは無く、シェルスクリプトを書かねば ならない – 異常系の処理をここで書かなければならない しかし、多くのジョブ管理システムがOSSにて開発されている メジャーな物として米Yahoo!が開発しているOozieがある – http://yahoo.github.com/oozie/ IBMではOozieに加え、付加価値機能を追加済み。
  • 64. © 2013 IBM Corporation 64 通常のアプリが直接HDFSに書き込めない アプリの出⼒やログをHDFSに集めるためのOSSがいくつかある Facebook Scribe: https://github.com/facebook/scribe Cloudera Flume: https://github.com/cloudera/flume/wiki rsyslog: http://www.rsyslog.com/doc/omhdfs.html またRDBMSのデータをHDFSとの間で送受信するためのOSSもある Sqoop – http://www.cloudera.com/downloads/sqoop/
  • 65. © 2013 IBM Corporation 65 機械学習ライブラリー : Mahout MahoutはMapReduceを⽤いて記述された機械学習⽤のライブラリー マーケティング等に⽤いられる – バスケット解析 (ビールとおむつが同じ客に良く売れる) – クラスタリング (データを自動で分類できます) – リコメンドエンジン (同じ製品を買ったお客様はこんな商品を買って います) – 等 現在非常に注目されており、利⽤実績も増えている – 楽天、Yahoo!、等 http://mahout.apache.org/
  • 66. © 2013 IBM Corporation 66 参考:MapReduce以外の演算パラダイム を利⽤する ※もうすぐYARN (Hadoop v2)が。 Apache Hama – http://incubator.apache.org/hama/ – MapReduceでは難しい巨⼤な⾏列同士の演算をBSPにて実現する – HDFSとZooKeeperは利⽤している。HDFSは他の分散ファイルシステムに変 更可能 Yahoo!からスピンアウトしたHadoopの開発者達は次世代のHadoopを開発中で ある – MapReduce以外の演算パラダイムをHadoop上で実現することを可能とする 予定 – http://developer.yahoo.com/blogs/hadoop/posts/2011/02/mapreduce-nextgen/
  • 67. © 2013 IBM Corporation 67 Hadoop を利⽤した(バッチ処理)事例 基本的な考え⽅:Hadoopはサービスレベルがあまり高くない(クリティカルで はない) 業務のバッチ処理の適⽤が向いています。 ⇒最近はここが⾦融系、中核の業務系にも用いられはじめています。 導入効果の例 (IBM事例で無いものを含みます) ※必ずしも、この処理性能を保障するものでは、ありません。 企業種類 処理内容 データ 量 短縮の度合い (適⽤前→適⽤後) 短縮度 合い クラスタ 規模 Web広告企業 ・クリック情報集計 ・広告精度追跡 等 700 GB 5日間 → 1時間 1/120 9台 クレジット カード会社 ・不正検知⽤モデル 作成 36TB 4週間 → 13分 1/32000 70台 流通業 ・顧客別の 購買履歴集計 20GB 15時間半 → 58分 1/16 28台 Web系 サービス企業 ・地図サービスログ 集計 170GB 6時間 → 5分30秒 1/65 20台
  • 68. © 2013 IBM Corporation 68 Hadoop Cluster 1年間分の検索ログを処理 7000時間 (MySQL)所要する処理を 30時間(Hadoop)で。 Hadoop適⽤事例 – クックパッド・たべみる 〜分析〜 分析の種類: SI値 地域別(SI値) マッチ度 組み合わせ IBMの事例ではありません。 検索ログ
  • 69. © 2013 IBM Corporation 69 検索キーワード入⼒補助 〜Yahoo! Japanの例〜 IBMの事例ではありません。 過去に入⼒された検索キーワードの組み合わせを事前にHadoopで分析し、 対象のキーワードが入⼒されると、それに⼀番マッチする補助キーワードを補助 入⼒候補として表⽰するためのインデックスを構築。
  • 70. © 2013 IBM Corporation 70 ようやく、BigInsights /Big SQLです。
  • 71. © 2013 IBM Corporation 71 エンタープライズHadoopでの新たな考慮点 Hadoop技術を、⼀般の企業内で利⽤する際に、Webサービスなどの利 ⽤とは違った新たな考慮点が存在します。 最初はスモールスタートだ が、今後拡張できる基盤 は? ハードウェア構 成も可⽤性は 必要? 既存の運⽤監視、 ジョブ運⽤環 境との連携? データソースと の連携? データのバック アップは? 分析システムと の連携? 他のベンダーはアプラ イアンスって言って るけど? Cognos BI Cognos Insights SPSS/R/BigSQL Sqoop/Flume/DataStage GPFS-FPO PureData System for Hadoop HA / GPFS-FPO 統合管理UI / REST 簡単なクラスター追加・管理
  • 72. © 2013 IBM Corporation 72 従来は・・・ Master Node Slave Node Slave Node NameNode DataNode DataNode TaskTracker TaskTracker Job Tracker Secondary NameNode Slave Node DataNode TaskTracker Slave Node DataNode TaskTracker Development Node Eclipse Flume Zookeeper HBase エンドユーザー 管理者 開発者 Jaql Server Oozie Hive 実は、Hadoopはそれ程、簡単ではない!結構、複雑。 新しい分析、 開発発注しな いと・・・ サーバー、ア プリ管理も 色々ある な・・・ 言語の使い分 け、SQLも使 えない・・・
  • 73. © 2013 IBM Corporation 73 BigInsightsは Master Node Map/Reduce Distributed File System Slave Node Slave Node NameNode DataNode DataNode TaskTracker TaskTracker Job Tracker Secondary NameNode Slave Node DataNode TaskTracker Slave Node DataNode TaskTracker WebConsole BigInsights Development Node Eclipse BigInsights Plug-in Flume Zookeeper HBase Catalog エンドユーザー 管理者 開発者 Jaql Server Oozie Hive Hadoopにかかる負担を最小に! Hadoopを知 らなくても使 える! 今までのSQL の知識を活⽤ できる 同じコンソー ルからリソー ス管理もでき る!
  • 74. © 2013 IBM Corporation 74 BigInsightsの3つのエディション: InfoSphere BigInsights Brings Hadoop to the Enterprise ①Basic Edition ③Enterprise Edition Breadth of capabilities Enterpriseclass 商⽤・非商⽤で無償 商⽤向け、および テスト向け: サイズ課⾦ Apache Hadoop ④PureData for Hadoop BigInsihgtsアプライアンス ②Quick Start Edition 非商⽤目的で 無償 (サポートなし) Pre-announced
  • 75. © 2013 IBM Corporation 75 InfoSphere BigInsights BigInsightsはHadoopを拡張する機能群とエンタープライズ向け連携機能群、そして活⽤を容易なツー ルを介して実装し、開発サイクルを短縮化できるソリューション・パッケージです。 《非商⽤環境で無償、容量無制限のQuickStartエディションも登場》 Hadoop拡張レイヤー ・・・ ・・・ Masterノード Slaveノード Cognos BI*(バンドルバンドルバンドルバンドル) Hive(JDBC) / REST(http) DataStage*(連携) DB2*(連携) R*(連携) Streams* (バンドルバンドルバンドルバンドル) Data Explorer* (バンドルバンドルバンドルバンドル) MachineDataAnalytics *(アクセレレーターアクセレレーターアクセレレーターアクセレレーター) SocialMediaAnalytics *(アクセレレーターアクセレレーターアクセレレーターアクセレレーター) Nutch*(連携) Gnip *(連携) LZO/bzip2圧縮 (分割可能) PureData *(連携) DBデータ取り出し・ 送り出し データ探索の可視化 BigSheets アプリ・リンク ワークフロー FLEXスケジューラースケジューラースケジューラースケジューラー 連携レイヤー Guardium*(連携) スケールアウト BigSQLによる SQL互換の インターフェイス HA on HDFS/ GPFS-FPO AdaptiveMR ((((Symphony)))) (連携) JAQL JAQLによる より高度なM/R スクリプティング Web管理コンソール
  • 76. © 2013 IBM Corporation 76 オンライン BigInsights BigInsights(Hadoop)とDB2/Netezzaは連携可能 Hadoopの活⽤のポイントは、「バッチ処理の並列化(高速化)」、 「眠っている履歴データ(ログ)、非定型データの有効活⽤」 DB2 HDFS DB2/JDBC Bridge DB2 DataStage Hadoop DB2からHadoop へのJobをキック することができる。 (処理はUDF経 由でJAQL呼び出 し) Hadoopのデータと してDB2を透過的に 利⽤できる(UDF経 由) R Bridge SPSS 統計解析ソフト 分析データのソースとし てHadoopを利⽤可能 (になる予定) JAQL SQL JAQL Flume (サポート対象) 高速データ移動、 パラレル処理が可能 なDataStage BigInsightsは既存システムと連携可能 Hadoop Streaming Ruby Cなど R JAVA files files files files
  • 77. © 2013 IBM Corporation 77 DB2とInfoSphere BigInsightsの連携 JaqlSubmitJaqlSubmit UDFUDF HDFSReadHDFSRead UDFUDF UDFUDF SQLSQLDB2DB2Cubing servicesCubing services JaqlJaql clientclient JaqlJaql serverserver Web log data onWeb log data on HadoopHadoop HDFSHDFS InfosphereInfosphere WarehouseWarehouse InfosphereInfosphere BigInsightsBigInsights HttpHttp (⼤量のデータを移動(⼤量のデータを移動 させることには向かない)させることには向かない) HttpHttp Persistent data 例えば、過去 10年分の データを保管 例えば、直近 2年分のオン ライン・デー タを保管 ① ② ③ ④ ⑤ ⑥
  • 78. © 2013 IBM Corporation 78 お知らせ:クイックスタート・エディションは無償で利⽤可能 非商用環境において、無期限・サイズ無制限で利⽤可能。 -提供形態:バイナリー版(インストーラー)⇒クラスタ環境構築可能 VMイメージ (本日のデモで使います) ここから ダウンロード ダウンロード:http://www.ibm.com/software/data/infosphere/biginsights/quick-start/index.html
  • 79. © 2013 IBM Corporation 79 IBM – BigInsightsコアエンジン 分析アクセレレーター ユーザー・インターフェイス ビジュアライゼーション 管理・コンソール テキスト 分析 アプリケーション・ アクセレレーター MapReduce + ワークロード管理 セキュリティー 開発ツール 連携 データベース& DWH Gurdium監査 Optimデータマス キング・プライバ シー ETL-DataStage 統計解析-SPSS テキスト分析-ICA インデックス Apache™ Hadoop® バンドル Cognos BI BIエンジン Streams リアルタイム処理 Data Explorer 検索エンジン IBMは、コア 部分に加えて 付加価値機能、 バンドル、連 携モジュール をパッケージ しています。 Hadoop mapReduce Hadoop HDFS
  • 80. © 2013 IBM Corporation 80 BigInsightsに含まれるコンポーネント*(1 of 2): 機能 Version Basic Edition Enterprise Edition 統合インストーラー 含む 含む Hadoopコア (ユーティリティー, HDFS, MapReduce) 1.1.1 含む 含む Pig (言語 / クエリー言語) 0.10.0 含む 含む Flume (データ収集/集約) 1.3.0 含む 含む Hive (DWH/クエリー) 0.9.0 含む 含む Lucene (テキスト・サーチ) 3.3.0 含む 含む Zookeeper (プロセス制御(コーディネイション)) 3.4.5 含む 含む Avro (データ・シリアライゼーション) 1.7.2 含む 含む HBase (高速データ読み書きストア) 0.94.3 含む 含む HCatalog (テーブル・ストレージ管理サービス) 0.4.0 含む 含む Sqoop (RDBMSバルクデータ・トランスファー) 1.4.1 含む 含む Oozie (ワークフロー/ジョブ・オーケストレーション) 3.2.0 含む 含む Jaql (IBMアルマデン研究所が開発したクエリー・スクリプト言語) 含む 含む オンライン・ドキュメント(マニュアル:InfoCenter) 含む 含む JAQLモジュールからのJDBCソースへのアクセス 含む 含む DB2連携 (ジョブのサブミット、データの読み込みなどの関数) 含む 含む
  • 81. © 2013 IBM Corporation 81 オープンソースのHadoopにはない機能 Basic Edition Enterprise Edition Big SQL (標準的なSQLクエリー・サポート, JDBC/ODBCドライバ, DB2/Netezza/ Teradataなどからのデータのロード) なし 含む JaqlからのPure Data for Analytics (Netezza), DB2 LUW w/ DPF連携 R連携 (Jaqlモジュールから Rスクリプトの呼び出し) なし 含む LDAP/PAM/ファイル認証, Guardium, SPSS, Optim連携サポートなど なし 含む WEBコンソール なし 含む 分析アクセレレーター (ソーシャルメディア、マシーンデータ解析) なし 含む Platform Computing Symphonyエンハンス (GPFS-FPO, Adaptive MapReduce, 圧縮テキストファイル処理, flexible job スケジューラー, 高可⽤性など) なし 含む テキスト分析モジュール なし 含む Eclipse開発ツール(テキスト解析の開発、Jaql,Hive,Java,Big SQLなど) なし 含む データインポート・エキスポート、WEBデータ収集、機械学習などのモジュール なし 含む Webベースのアプリケーション・カタログ機能 なし 含む BigSheets: 表計算シートによる解析ツール BigIndex: Lucene拡張の分散インデックス・サーバ なし 含む IBMによるサポート なし 含む Streams, Data Explorer, Cognos BI (限定ライセンス) なし 含む ストレージサイズの制限 制限あり 制限なし BigInsightsに含まれるコンポーネント*(2 of 2):
  • 82. © 2013 IBM Corporation 82 従来は・・・ Apache Hadoop Hadoop管理のた めのUIは提供さ れるが、使い勝手 はよくない。。。
  • 83. © 2013 IBM Corporation 83 Welcome クラスタ状況 ファイル管理 アプリ状況 Sheets アプリケーション ようこそ画面 BigInsightsは:
  • 84. © 2013 IBM Corporation 84 表シート形式のデータ探索 アプリケーション実⾏管理 スケジューリング管理 アプリケーション・デプロイ ノード管理(追加削除) サービス管理(プロセス) クラスター管理 ファイル管理 セキュリティー管理
  • 85. © 2013 IBM Corporation 85 GUIからアプリ作成
  • 86. © 2013 IBM Corporation 86 作成したアプリケーションのリンク実⾏機能 作成したアプリの逐次処理
  • 87. © 2013 IBM Corporation 87 BigSheets – プログラミングなしでMapReduce。 コーディングを することなく データ探索、処理 記述が可能
  • 88. © 2013 IBM Corporation 88 BigSheetsで⼀連の分析・処理操作を実⾏ 画面上の操作を 自動的にPig変換 してMapReduce 実⾏ 収集 抽出 探索・可視化 繰り返し データのクローリン グ・統計データ、生 データなど サンプルデータから 分析が可能なフォー マットにクレンジン グ・平準化 分析、アノテート、 フィルタリング、 結果の可視化 トライアンドエ ラー⽅式で繰り 返し まずは、サンプ リングデータに 対して処理
  • 89. © 2013 IBM Corporation 89 分析ワークフローの定義も可能 1. データ収集、 サンプリング 2. GUIツールから処 理ロジックを実装 3. ロジックのトライ& エラー、テスト、探索 4.アプリケーション とし登録して実⾏ 5. 定期実⾏
  • 90. © 2013 IBM Corporation 90 分析の可視化も可能:⾒える化だけではなく、 「⾒ながら」 分析をする前の 仮説を⽴てる際に、 データの傾向を捕 らえることがトラ イ&エラーで可能 になります
  • 91. © 2013 IBM Corporation 91 チャートはカスタマイズ可能 マルチ・ シリーズの データ可視化 も可能
  • 92. © 2013 IBM Corporation 92 IBM – BigInsightsコアエンジン 分析アクセレレーター テキスト 分析 アプリケーション・ アクセレレーター MapReduce + ワークロード管理 セキュリティー インデックス Apache™ Hadoop® 通常の Apache HDFSとIBM が提供する GPFS-FPO ファイル システムの 選択 Hadoop mapReduce Hadoop HDFS エンジンとファイルシステムの選択 通常の Apache MapReduce エンジンと IBMが提供す るAdaptive MapReduce エンジンの 選択 エンタープライズ領域で求められる処理性能、可⽤性の要件に合わせたエ ンジンとファイルシステムを選択することができます。
  • 93. © 2013 IBM Corporation 93 Adaptive MapReduce(Platform Computing Symphony) グリッド・サーバー ブロー カー エンジン Each engine polls broker ~5 times per second (configurable) Send work when engine ready クライア ント インプットデータの シリアライゼーション ネットワーク転送 (client to broker) 処理エンジンによってブローカーを ポーリングする待ち時間 ネットワーク転送 (broker to engine) De-serialize Input data 結果処理 Serialize result ブローカーに結果をポ ストする時間 Time … Broker Compute time Symphonyのアドバンテージ: Efficient C language routines use CDR (common data representation) and IOCP rather than slow, heavy-weight XML data encoding) Network transit time is reduced by avoiding text based HTTP protocol and encoding data in more compact CDR binary format Processing time for all Symphony services is reduced by using a native HPC C/C++ implementation for system services rather than Java Platform Symphony has a more efficient “push model” that avoids entirely the architectural problems with polling BigInsightsが採用したPlatform Symphonyの MapReduceフレームワーク インプットの シリアライ ゼーション ネット ワーク転 送 SSM 処理時間 & ロギング時間 総処理時間 ネットワーク転送 (SSM to engine) デシリアラ イゼーション … シリアラ イゼーション ネットワーク転送 (engine to SSM) 結果処理 待ち時間の最小化、シリアライゼーション、 デシリアライゼーションの高速化、 シャッフル処理の高速化、ネットワーク 最適化などを実装 MapReduce処理の 処理時間が短縮・ 高可⽤性を向上で きる仕組みを提供
  • 94. © 2013 IBM Corporation 94 GPFS-FPOファイルシステム 従来のHadoop ファイルシステム(HDFS)の代替となる付加価値ファイルシステム 分散ファイルシステム : GPFS-FPO 分散ファイルシステム : HDFS Map/Reduce API Hadoop FS APIs Higher-level languages: Hive, BigSQL JAQL, Pig … 機能概要: -単一障害ポイントなし -ビルドインされたHA機能 -POSIX準拠 -ACLサポート -ストレージプールの サポート -スナップショット・ バックアップ アプリケーション アプリケーション からは ファイルシステム の違いを意識する 必要はありません。
  • 95. © 2013 IBM Corporation 95 IBM – BigInsightsコア・エンジン 分析アクセレレーター ユーザー・インターフェイス ビジュアライゼーション 管理・コンソール テキスト 分析 アプリケーション ・アクセレレーター Map Reduce + ワークロード管理 セキュリティー 開発ツール インデックス Apache Hadoop バンドル Cognos BI BIエンジン Streams リアルタイム処理 Data Explorer 検索エンジン Hadoop mapReduce Hadoop HDFS 連携 データベース& DWH Gurdium監査 Optimデータマス キング・プライバ シー ETL-DataStage 統計解析-SPSS テキスト分析-ICA 今までのSPSS(統 計解析)で処理可能 なデータ量、対象 を⼤幅に拡⼤ BI(ビジネス・イ ンテリジェンス)か らDBだけではなく Hadoopに蓄積され ているデータも処理 対象に
  • 96. © 2013 IBM Corporation 96 Cognos BI v10.2.1とBigInsights v2.1連携 Cognos Insight Application (Map-Reduce) Storage (HBase, HDFS) Hive BigSheets CSV InfoSphere BigInsights Hive via JDBC Cognos BI server Text Analytics REST API 探索 & 分析 レポート SQL Interface via JDBC 今までのBIで扱える データの範囲を拡⼤す ることが可能に。 Hadoopで処理した結 果をCSVファイルで保 存し、その結果を BigSheetsで整形、処 理、そして、Cognos Insightでデータ取り込 みを⾏う事が可能です。 Big SQLによって Cognos BIサーバか ら様々な処理をプッ シュダウンすること が可能になります
  • 97. © 2013 IBM Corporation 97 SPSS Analyticサーバー Hadoopプッシュバック 97 Big Data Request Stream File Modeler Client Modeler Server IBM SPSS Modeler IBM SPSS Analytic Server Hadoop pushback Hadoop Job Analytics IBM InfoSphere BigInsights & Other Hadoop Distributions Relational Database SQL / UDF SPSS Analytic Server の前提としてSPSS Modeler Serverが必要となります。 SPSS Modeler/Modeler Serverは V15 FP2以上が必要となります。 SPSS Modelerの 分析処理をHadoop 上で⾏うことができ るようになります。 従来とおりのSPSSユーザー・インタフェースで⼤量データを取り扱え ます。Hadoop内のHDFSファイル、Hcatalogによるテーブル定義は、 SPSS Analytic Serverにデータソースとして登録するため、ユーザは 物理的なファイルを意識する必要がありません、
  • 98. © 2013 IBM Corporation 98 SPSS Analyticサーバ Hadoopプッシュバック Analytic Server 入⼒ノード Analytic Server 出⼒ノード *1,*2 : 2013年5月現在 SPSS Modelerの使いやすさを そのまま利⽤でき、SPSS Modelerが備えているデータ加 ⼯処理⽤ノードのほとんどの 機能を利⽤可能 スコアリングについては、ほとんどのモデリング手法でのスコアリングをHadoop上で 利⽤可能-Hadoop上で可能なモデリング手法は、「Liner」、「Neural」、 「CHAID」、「Quest」「C&R Tree」をサポートしています。(*1) SPSS Analytic Server からデータベースにアクセスすることも可能です。DB2 , Netezza , Oracle , SQL Server, Teradata をサポートしています。(*2)
  • 99. © 2013 IBM Corporation 99 BigInsightsコア・エンジン 分析アクセレレーター ユーザー・インターフェイス ビジュアライゼーショ ン 管理・コンソー ル テキスト 分析 アプリケーション ・アクセレレー ター Map Reduce + ワークロード管 理 セキュリティー 開発ツール 連携 データベース DWH 情報統制 ガバナンス ETL 統計解析 インデックス Apache Hadoop バンドル Cognos BI BIエンジン Streams リアルタイム処 理 Data Explorer 検索エンジン Hadoop mapReduce Hadoop HDFS ビルドした解析 モジュール-アク セレレーターを 利⽤することで 利便性を向上し ます。 ポイント:単なる Hadoop提供ではない 分析アクセレレーター
  • 100. © 2013 IBM Corporation 100 生のログ・データとマシン・データ ①ログの検索 【インデックスの作成と 検索】 ②時系列に基づく シーケンス解析 ③特定原因の分 析(カイ二乗検 定) 複数システムから収集する 様々なログデータ を平準化し、分析する MDA MDAアクセレレーターで実現する3つこと
  • 101. © 2013 IBM Corporation 101 ①インデックス作成と検索 ②パターン発⾒と頻度の分析 ③原因の推定と有意検定 様々なRAWデータを 取り込む際に正規化さ れたフォーマットに整 形することが可能(ア ダプター)。フォー マット変換のカスタマ イズは可能です。 MDA処理の流れ データの統合と変換
  • 102. © 2013 IBM Corporation 102 取込が可能ログフォーマット(アダプ ター) Apache Webaccess Delimited Separated Values, もしくは CSVファイル Data Power® Generic (これが⼀般的なログフォーマット(正規表現による取込設定を⾏う)) Hadoop Data Node Hadoop Jobtracker Hadoop Name Node Hadoop Secondary Name Node Hadoop Task Attempt Hadoop Task Tracker Syslog, もしくは システムログファイルなど WebSphere® Application Server
  • 103. © 2013 IBM Corporation 103 ①検索 Data Explorer (UI) BigIndex(分散インデックス)
  • 104. © 2013 IBM Corporation 104 例:基本的なファセット検索画面 (Data ExplorerのUI画面)
  • 105. © 2013 IBM Corporation 105 例:インデックス・アプリの実⾏画面
  • 106. © 2013 IBM Corporation 106 ②時系列シーケンス化 平準化済み時系列データの シーケンス化
  • 107. © 2013 IBM Corporation 107 ③ログの相関関係の調査
  • 108. © 2013 IBM Corporation 108 例:ログデータの時系列シーケンス表⽰
  • 109. © 2013 IBM Corporation 109 IBM – BigInsightsコア・エンジン 分析アクセレレーター ユーザー・インターフェイス ビジュアライゼーション 管理・コンソール テキスト 分析 アプリケーション ・アクセレレーター Map Reduce + ワークロード管理 セキュリティー 開発ツール 連携 データベース DWH 情報統制 ガバナンス ETL 統計解析 インデックス Apache Hadoop バンドル Cognos BI BIエンジン Streams リアルタイム処理 Data Explorer 検索エンジン Hadoop mapReduce Hadoop HDFS 今までの SQL知識を 活⽤できる Big SQL を提供
  • 110. © 2013 IBM Corporation 110 DWHと連携 全てをDB/DWHに格納処理 するのではなく Hadoopでも分担処理 Hadoopは、Java/専⽤スクリプト言語で 記述・実装する必要があり簡単ではないと思われています。 SQLをサポートすることにより、今までの知識を活⽤することが目的。 なぜSQLクエリがHadoopに必要なのか? 11 0 プリプロセス型 アーカイブ型 探索・分析型 リアル タイム バッチ ランディング フィルタリング アーカイブ 探索 分析 データ ウェアハウス 統合的 に格納 データ ウェアハウス データ ウェアハウス 保存
  • 111. © 2013 IBM Corporation 111 アプリケーション BigSQL: SQLクエリーによるHadoopへのアクセス BigSQLエンジン BigInsights Data Sources SQL JDBC / ODBC Server JDBC / ODBC Driver BigInsihgtsへNative SQLアクセス –ANSI SQL 92+、標準的な シンタックスサポート (joins, データ型など …) JDBC/ODBCドライバー – プリペア⽂/ キャンセルのサポート、 – データベース・メタデータAPI、SSLのサポート 最適化実⾏の仕組み –MapReduceによる並⾏処理への変換 –★インメモリーによる直接アクセス (low-latency queries向け・ シングルモード) 様々なデータストアのサポート – HBase (including secondary indexes) – CSV, Delimited files, Sequence files – JSON – Hive tables Hive HBase CSV
  • 112. © 2013 IBM Corporation 112 BigInsightsからのSQLの呼び出し⽅法は? コマンドライン (JSqsh shell) Webインターフェイス (BigInsights webコンソール) Eclipse (BigInsights プラグイン) ODBC/JDBC ( 3rdパーティのSQLツール含む)
  • 113. © 2013 IBM Corporation 113 Squirrel SQL クライアントからのSQL実⾏
  • 114. © 2013 IBM Corporation 114 Microsoft ExcelとBig SQLの連携(via ODBC) © 2013 IBM Corporation
  • 115. © 2013 IBM Corporation 115 SQLサポートの概要(クエリ編): Projection SELECT col1, col2 FROM t1 Restriction SELECT * FROM t1 WHERE col1 > 5 Union SELECT EMPNO FROM EMPLOYEE WHERE WORKDEPT LIKE 'E%' UNION SELECT EMPNO FROM ACTIVITIES WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112') Difference (EXCEPT) (SELECT * FROM T1) EXCEPT ALL (SELECT * FROM T2) Intersection、Joins、Subqueries 、Built-in functionsなどなど。
  • 116. © 2013 IBM Corporation 116 SQL サポート – Join編 ⼀般的なJOIN⽅法とANSI joinシンタックスをサポート 例えば、HiveはANSI joinシンタックスはサポート select ... from tpch.orders, tpch.lineitem where o_orderkey = l_orderkey select ... from tpch.orders join tpch.lineitem on o_orderkey = l_orderkey select ... from tpch.orders, tpch.lineitem where o_orderkey = l_orderkey select ... from tpch.orders join tpch.lineitem on o_orderkey = l_orderkey 11 6
  • 117. © 2013 IBM Corporation 117 SQL サポート – Subqueries(サブクエリ)編 Big SQLはサブクエリ(副参照)もサポート: select c1, (select count(*) from t2) from t1 ... select c1 from t1 where c2 > (select ...)
  • 118. © 2013 IBM Corporation 118 SQLサポート – 関数編(⼀部抜粋) 今までのSQLで使われている関数もサポート – Numeric – Trigonometric – 日付関連の関数 – ⽂字列関数 – Aggregates関数などなど. abs ceil floor ln log10 mod power sqrt sign width_bucket cos sin tan acos asin atan cosh sinh tanh _add_days _add_months _add_years localtimestamp _age _day_of_week _day_of_year _week_of_year _days_between _months_between _years_between _ymdint_between _first_of_month _last_of_month extract char_length bit_length octet_length upper lower substring position index translate trim json_get_object
  • 119. © 2013 IBM Corporation 119 カタログ・テーブルのサポート (Hcatalog編) [localhost][foo] 1> select * fromselect * fromselect * fromselect * from syscat.tablessyscat.tablessyscat.tablessyscat.tables wherewherewherewhere tablenametablenametablenametablename='users';='users';='users';='users'; +------------+-----------+ | schemaname | tablename | +------------+-----------+ | default | users | +------------+-----------+ 1 row in results(first row: 0.14s; total: 0.15s) [localhost][foo] 1> select * fromselect * fromselect * fromselect * from syscat.columnssyscat.columnssyscat.columnssyscat.columns wherewherewherewhere tablenametablenametablenametablename='users';='users';='users';='users'; +------------+-----------+-----------+--------+-----------+-------+ | schemaname | tablename | name | type | precision | scale | +------------+-----------+-----------+--------+-----------+-------+ | default | users | id | INT | 10 | 0 | | default | users | office_id | INT | 10 | 0 | | default | users | name | STRING | 0 | 0 | | default | users | children | ARRAY | 0 | 0 | +------------+-----------+-----------+--------+-----------+-------+ 4 rows in results(first row: 0.19s; total: 0.21s) Other BigInsights catalog tables track index and schema information
  • 120. © 2013 IBM Corporation 120 ありがとうございました。 IBM BigInsights