Your SlideShare is downloading. ×
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

11,047
views

Published on

2013/07/26のCLUB DB2での発表資料(配布版)です。 …

2013/07/26のCLUB DB2での発表資料(配布版)です。
作成・発表は土屋 敦さんですが、代理でUPLOADしています。

CLUB DB2 第167回「IBM版Hadoop "BigInsights"とBig SQL機能」
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/ClubDB2/page/%E7%AC%AC167%E5%9B%9E

Published in: Technology

0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
11,047
On Slideshare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
149
Comments
0
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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