最新テクノロジー動向 big data/自然言語解析 · 2016. 9. 29. · ibm smart...
TRANSCRIPT
最新テクノロジー動向
Big data/自然言語解析 日本アイ・ビー・エム株式会社
クラウド・エバンジェリスト
米持 幸寿
© IBM Corporation 2011. All Rights Reserved. 2
SWテクノロジー・エバンジェリスト:米持 幸寿
• メインフレーム系ソフトウェア障害対応技術員や ワークフローソリューション開発など経て、 2000年よりIBMソフトウェア・エバンジェリスト Java、XML、J2EE、Webサービス、Web2.0・・・
• 著書12冊:最新刊 「クラウドを実現する技術」(インプレス、2009年)
• 東京工科大学クラウド設計/開発の中心的存在 現在も、クラウド構築プロジェクトに参加
• My developerWorks 「Dojoツールキット・ファン」グループをリード
© IBM Corporation 2011. All Rights Reserved. 3
本日の講演アジェンダ
Bigdata
InfoSphere Streamsのテクニカル概要
InfoSphere BigInsightsのテクニカル概要
自然言語解析
グローバル評判分析から有効なアクションを! ~ IBM Content Analytics (ICA) ~
© IBM Corporation 2011. All Rights Reserved. 4
702,468,660
★US: 150,566,860
★Indonesia: 38,377,200
★United Kingdom 29,780,480
★Turkey 29,174,800
★India 28,305,060
facebook: 30000サーバ 毎日、25ペタバイトのログ ユーザが共有するコンテンツ、毎週60億 写真のアップロード、毎月30億枚 写真の参照、毎秒100万枚 facebookサーバ、毎秒5000万件の処理
★Japan: 3,704,180
© IBM Corporation 2011. All Rights Reserved. 5
InfoSphere Streams
Stream Computing In memory Technology
スループット
遅延時間
/ レイテンシー
DWH
低
高
大 小
IBM Smart Analytics System
InfoSphere Warehouse
リアルタイム分析・計算
大量分析・計算
・マシンのコモディティ化 ・オープンソース技術
大量データを ディスク着地前に
処理
ディスク着地後の 大量データを
処理
Distributed Data Processing MapReduce
DWH Appliance
新たな分析/計算基盤が必要になってきています。
InfoSphere BigInsights
SPSS
予測分析
Cognos
hadoop
BA
© IBM Corporation 2011. All Rights Reserved. 6
InfoSphere Streamsの概要
© IBM Corporation 2011. All Rights Reserved. 7
■目的 静的な過去のデータを分析し、過去の事実を発見する
■インプットデータ 静的で、構造化されたデータ
■コンピューティング処理 静的データに対しクエリーをかける (バッチ方式、プル型モデル)
今までの方式【過去の事実の発見】 ストリーム・コンピューティング【今の出来事】
過去の事実の発見 直近の事実を掴む
静的データ処理 ストリーミング・データ処理
ストリーム・コンピューティングとは、従来の構造化され蓄積された過去のデータに対する分析ではなく、リアルタイムで流れてくる様々なデータを処理・分析する手法。 ただし、既存のデータベース技術などをリプレイスするという考え方ではありません。
リアルタイム・データ
・・・・・・ データ処理
(特定の条件等)
クエリー
リアルタイム・データ
・・・・・・
テーブル
保管
■目的 動的なデータをリアルタイムに分析し、直近の事実を発見する
■インプット・データ 動的で、構造化データや非構造化データのストリーム
■コンピューティング処理 ストリーミング・データに対し、リアルタイムにデータ分析
データの保管はしない!
ストリーム・コンピューティングとは?
© IBM Corporation 2011. All Rights Reserved. 8
ストリーム処理とは、データ処理のモデルのこと。
データの記録を目的とせず、流れてくるデータを加工・処理してデータ出力をする処理。
「データを受信してデータを出力する」一連の処理を最も簡単にモデル化したもの。
記録データ
データ
定期的 一括処理
処理結果
記録データ
処理要求 処理結果 データ
中間 データ
処理
データ
バッチ処理 OLTP処理 ストリーム処理
秒間 数10,000件 秒間 100~10,000件 秒間 10,000~数1,000,000件
ストリーム処理とは?
更新トランザクション
© IBM Corporation 2011. All Rights Reserved. 9
情報ソース(取込み)
アクションまでに所要する時間
WAREHOUSE
レポート
アドホック・クエリ
データマート
ビジネスプロセッシング
& イベント管理
オペレーショナル
レポート
ダッシュボード 計画 スコアリング・カード
分析モデル & 情報
データ・インテグレーション オペレーショナル・データ・ストア(ODS)
一般的な情報処理の時間軸
© IBM Corporation 2011. All Rights Reserved. 10
- アクションまでの実行時間短縮
- より速く予測する
アクションまでの時間
情報ソース(取込み)
WAREHOUSE
レポート
動的なクエリ
データ・インテグレーション オペレーショナル・データ・ストア(ODS)
データマート
ビジネスプロセッ
シング & イベン
ト管理
オペレーショナル
レポート
ダッシュボード 計画 スコアリング
分析モデル & 情報
分析モデル
& リアルタイムな情報
様々な コンテンツ
ストリーミング・コンピューティングの時間軸
© IBM Corporation 2011. All Rights Reserved. 11
開発環境& 管理コンソール
ランタイム 環境
ツールキット& 連携アダプター
Front Office
• OS: Linux (RHEL v5.3 -)
• Intel x86マルチコア
• TCP /UDP /LLM 通信
プロトコールのサポート
• InfiniBandのサポート
• 最大125サーバの
クラスタ環境
• StreamsStudio
(Eclipse統合開発環境)
• StreamsLiveGraph
(JOBフロー可視化)
• StreamsDebugger
• 標準ツール・キット
• 拡張ツールキット •インターネット
•データベース
•フィナンシャル
•データ・マイニング
•解析ツール・キット (PMML対応)
• ユーザ定義ツールキット
IBM InfoSphere Streams v2.0
SQL Server ORACLE My SQL
© IBM Corporation 2011. All Rights Reserved. 12
Streams開発(Eclipse)画面/WEB管理コンソール
© IBM Corporation 2011. All Rights Reserved. 13 13
What are key differentiating technical capabilities of Streams? Volume, Variety, Velocity, Analytics, and Agility
一連のオペレーター・グループを1つのプロセスにコンパイル可能: CPUコアの最適使用 分散実行 高速データ通信 自動最適化(統計に基ずく)
ストリーミング・アプリケーションに
開発された言語: SPL 再利用可能な事前定義のオペレータ群
ラピッド・アプリケーション開発(作って試す) 継続的な「パイプライン」処理
柔軟かつ非常に
高いトランスポート性能(TCP/LLM): とても低い遅延時間 高いデータレート
容易な拡張性: ビルドイン・アダプター群
C++やJavaで実装することが できるユーザ定義関数
様々なデータを処理。 より速く、他社より速く: 様々なデータ型の処理が可能 既存の手法では、処理コストが 大きすぎるデータの処理。
容易な管理: 自動的なジョブ配置
アプリケーションの拡張 マルチ・ユーザー / マルチ・アプリケーション
ダイナミックな解析: ランタイム中でのトポロジー変更
新しいサブスクリプションの作成 新しいポートの作成
© IBM Corporation 2011. All Rights Reserved. 14
Streamsのボトルネック解消 – 並列化の考え方
今までは:
Streamsでは:
© IBM Corporation 2011. All Rights Reserved. 15
オペレーターをノードに分散 オペレーターをプロセスに融合
StreamsのSPLプログラムの配置の考え方
© IBM Corporation 2011. All Rights Reserved. 16
Streamsは多くの分析能力を備えています ストリーム-リレーショナル・ビルドイン・オペレーター
© 2009 IBM Corporation 16
Joinオペレーターは2つのストリーム処理を集約させることができます。
Functorオペレーターは、タプル(データ)レベルでのデータ変換を行うことができます。
Aggregateオペレーターは、流入するタプル(データ)をグルーピング、またはサマライズすることができます。
Punctorオペレーターは、パンクチュエーション・マークを追加することができます。
Sortオペレーターは、流入するタプル(データ)に対して、処理順番を付与することができます。
Barrierオペレーターは 、同期ポイントを設定できます。 Delayオペレーターは わざと
遅くさせることができます。
Splitオペレーターは、流入するタプル(データ)を、多重度を向上さえるために、他のストリーム処理系統に分割することができます。
BundleオペレーターはSplitオペレーターで分割した複数のストリーム処理系統をマージすることができます。
© IBM Corporation 2011. All Rights Reserved. 17
InfoSphere BigInsightsの概要
© IBM Corporation 2011. All Rights Reserved. 18
InfoSphere Streams
Stream Computing In memory Technology
スループット
遅延時間
/ レイテンシー
DWH
低
高
大 小
IBM Smart Analytics System
InfoSphere Warehouse
リアルタイム分析・計算
大量分析・計算
・マシンのコモディティ化 ・オープンソース技術
大量データを ディスク着地前に
処理
ディスク着地後の 大量データを
処理
Distributed Data Processing MapReduce
DWH Appliance
新たな分析/計算基盤が必要になってきています。
InfoSphere BigInsights
SPSS
Cognos
hadoop
予測分析
BA
© IBM Corporation 2011. All Rights Reserved. 19
5月23日プレスリリース、大きな反響。 (ASCII.jp) IBM、ゼッタバイト時代のビッグデータ解析に挑む
http://tech.ascii.jp/elem/000/000/608/608198/
(@IT MONOist) 設備監視、センサーネットワーク管理などに適したデータマネジメント製品
http://monoist.atmarkit.co.jp/mn/articles/1105/24/news009.html
(マイコミジャーナル)日本IBM、HadoopベースのBig dataを分析する製品を発表
http://journal.mycom.co.jp/news/2011/05/24/015/
(クラウドWatch) 日本IBM、企業のビッグデータ活用を支援するソフト2製品~多様で膨大なデータを高速分析
http://cloud.watch.impress.co.jp/docs/news/20110524_447878.
html
(キーマンズネット)日本IBM、ビッグ・データをリアルタイムに高速分析する製品提供
http://www.keyman.or.jp/3w/prd/65/20034465/
(ITPro) 日本IBM、Hadoopベースの大規模データ向け処理ソフトを投入
http://itpro.nikkeibp.co.jp/article/NEWS/20110523/360580/
(ITLeaders) 日本IBM、BigData向けにHadoop構築ソフト「BigInsights」とCEP「Streams」新版
http://it.impressbm.co.jp/e/2011/05/23/3736
(ITmedia) 日本IBM、Hadoopベースのビッグデータ分析ソリューションを提供
http://www.itmedia.co.jp/enterprise/articles/1105/23/news099.ht
ml
(CNet) 日本IBM、ビッグデータ活用を支援する新製品
http://japan.cnet.com/news/service/35003045/
© IBM Corporation 2011. All Rights Reserved. 20
製品リリース
5月27日: 販売開始 6月24日: メディア配布開始
InfoSphere BigInsights
Basic Edition 無償版(1クラスタ10TBまで) Webコミュニティ・サポートのみ
Enterprise Edition RVU(Resurce Value Unit) データサイズによる課金体 →URL: 独自拡張機能 IBMによるサポート
BigInsights – 2つのバージョン
© IBM Corporation 2011. All Rights Reserved. 21
TaskTracker
HDFS slave
TaskTracker
HDFS slave
TaskTracker
HDFS slave
TaskTracker
HDFS slave
Hadoop 大量データを扱う、分散処理システム(Apacheオープンソース)
コモディティーマシンを並べれば使える
クラスターをストレージ化
MapReduceで、分散、集計処理
Java実装
TaskTracker
HDFS slave
TaskTracker
HDFS slave
TaskTracker
HDFS slave
データ データ データ
TaskTracker
HDFS slave
JobTracker HDFS master
データ
MapReduce MapReduce MapReduce MapReduce
クラスター
Googleの論文 Yahooが中心と
なって開発
© IBM Corporation 2011. All Rights Reserved. 22
Hadoopの2大基本機能
HDFS(Hadoop Distributed File System)
複数台のマシンをN/Wでつなげて、大きなストレージを形成
「PCサーバーは壊れるのがあたりまえ」をコンセプトに巧みなフォールトトレランス機能を提供 =安いPCサーバーでもそれなりの信頼性
MapReduce
HDFSを形成しているサーバーのCPU(計算能力)で大量処理
ソートマージのためのフレームワーク
シェアード・ナッシングにより、HDDアクセスのボトルネック解消
© IBM Corporation 2011. All Rights Reserved. 23
InfoSphere BigInsights Enterprise Edition v1.1 は以下のコンポーネントを含みます: IBM Distribution of Apache Hadoop (IDAHO) with IBM Java
- to support massive scale-out data processing and analysis on commonly available hardware, with inherent resiliency and fault tolerance
Adaptive MapReduce - Highly parallel flexible data processing framework supports structured, semi-structured, and unstructured for maximum flexibility; structure can be interpreted on the fly. IBM enhanced version of MapReduce.
Hadoop Distributed File System (HDFS) - スケーラブル、可用性を持ったHadoop専用ファイルシステム
Jaql(ジャックル) JSONデータに対するクエリ言語 a Query Language for JavaScript Object Notation to facilitate analysis of unconventional data, and integration with traditional data stores
Hadoopエコシステムのオープンソース・コンポーネント: Apache Pig/Pig Latin (プログラミング言語)
Cloudera Flume (データ収集、集約)
Apache Hive/HiveQL (データ要約・クエリ)
Apache Lucene (テキストサーチ)
Zookeeper (プロセス・コーディネーション)
Avro (データ・シリアライズ)
Apache hBase (リアルタイム・キーバリュー・書き込み読み込み)
容易な管理を可能にする「管理コンソール」
IBM InfoSphere Warehouse, DB2 (LUW)との連携機能
テキスト分析エンジン (System T)
WEBベースの管理コンソール, LDAP セキュリティ (WASCE)
ワークフロー・エンジン (Orchestrator)
より柔軟なスケジューラー (FLEX)
開発環境としての、IBM Optim Development Studio 2.2.1
BigInsights – 製品コンポーネント概要
© IBM Corporation 2011. All Rights Reserved. 24
Unica
DB2
Coremetrics
Streams
Netezza
DataStage
DBA
Manageability Integration Consumability
Data Explorer Application Flows Dashboards/Reports Administration
BigInsights Enterprise Console
BigInsights Enterprise Engine
Language
(Jaql, Pig, Hive, HBase)
Workflow orchestration
(Orchestrator - MetaTracker)
Workload Prioritization
(FLEX)
Map-reduce (Hadoop + Adaptive Map-Reduce)
File system (HDFS)
Performance
Analyst Analyst DBA/Analyst/
Programmer
SPSS
Cognos
Analytics
(systemML, system T)
Indexing
(ILEL: parallel, partitioned, real-time)
DBs
JMS
HTTP
Web &
Application
logs
Crawlers
Streams
Analytics
Open source
IBM unique value
IBM complimentary value IBM differentiating value
LEGEND
BigInsights Enterprise Stack
IBM リサーチ Almaden研究所 による開発
IBM 製品との 連携を強化
一部実装予定の機能も含めて記載されています。
© IBM Corporation 2011. All Rights Reserved. 25
Cluster
BigInsights Enterprise Engine
Hadoop
Map-reduce (Hadoop)
Hiv
e
Pig
Wo
rklo
ad
Pri
ori
tizati
on
FL
EX
ILEL i
ndexin
g
[Para
llel]
/[Part
itio
ned]/
[R
eal-
tim
e]
File system (GPFS++, HDFS)
hBase
Wo
rkfl
ow
orc
hes
trati
on
Orc
hestr
ato
r
Search APL BigSheets APL
Adaptive Map-Reduce
Flume
Lucene
Avro
ZooKeeper
Security (LDAP) on WASCE
Mgmt Console Optim Dev Studio
DB2 Bridge
Jaql-DB2
ブリッジ
LADP
セキュリティ強化
Jaql
クエリ言語
Adaptive
MR
FLEX
拡張スケジューラ
Jaqlの
ワークフローエンジン
ILEL
インデックス
GPFS++
高信頼ファイルシステム
開発環境・ 管理
コンソール
SystemT
テキスト解析
System ML
機械学習
Language
(Jaql,
Pig, Hive) JA
QL
Syst
em
T(J
aql)
Syst
em
ML
Analytics
BigInsights Enterpriseエンジン – IBM独自の機能
© IBM Corporation 2011. All Rights Reserved. 26
代表的な機能の概要
1. BigSheets(分析処理作成向けGUI) 2. Jaql(クエリ言語)
3. Orchestrator (ワークフロー・エンジン)
4. DB2ブリッジ
© IBM Corporation 2011. All Rights Reserved. 27
BigInsightsのGUIのように 使うことができる 分析GUI (将来的に適応が 期待されるコンポーネント)
BigSheetsとは?・・・ jStartプログラム
© IBM Corporation 2011. All Rights Reserved. 28
代表的な機能の概要
1. BigSheets(分析処理作成向けGUI)
2. Jaql(クエリ言語) 3. Orchestrator (ワークフロー・エンジン)
4. DB2ブリッジ
© IBM Corporation 2011. All Rights Reserved. 29
Jaql (読み方:ジャクル)
A JSON Query Language
JSON形式のデータを処理するためのクエリ言語 MapReduceを処理するための実装を組み込んいます
(MapReduce専用言語ではありません)
準構造化データのクエリ処理 JSONで表現される
巨大並列処理を活用 Apache Hadoop’s Map-Reduce を利用
容易な拡張性 お好みのプログラミング言語によるプラグイン機能
Jaql IOパッケージを利用して、データモデルをカスタマイズした、
新規に定義したりすることが可能
オープンソースとして開発 http://jaql.org/
http://code.google.com/p/jaql/
IBM アルマデン研究所で
開発
© IBM Corporation 2011. All Rights Reserved. 30
A Jaql query is a data flow pipeline
filter transform writeread filter transform writeread
read(hdfs(“users”)) filter $.zip == 94114 transform { $.id, $.name } write(hdfs(“inzip”));
[{ id: 12, name: “Joe Smith” },{ id: 19, name: “Alicia Fox” }
]
Query Output Data
Find users in zip 94114
Arrays of JSON records flow
between operators
Arrays of JSON records flow
between operators
Jaqlクエリはデータフローのパイプライン
ポイント:JSON型式のオブジェクトを操作していく過程を記述するクエリ言語で、「パイプライン・プログラミング」と
呼ばれる型式で記述していきます。
© IBM Corporation 2011. All Rights Reserved. 31
hdfsShell("-copyFromLocal <ローカルファイル名> <HDFSファイル名>"); $lineRdr = read({type: "hdfs", location: "<HDFSファイル名>", inoptions: {format: "org.apache.hadoop.mapred.TextInputFormat", converter: "com.acme.extensions.data.FromLineConverter"}}); registerFunction("splitArr", "com.acme.extensions.expr.SplitIterExpr");
$lineRdr -> expand splitArr($, " ") -> group by $w = ($) into [$w, count($)] -> count();
package com.yone.mapreduce; import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; public class MyMapper extends Mapper<LongWritable, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private final static Text word = new Text(); public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasMoreTokens()) { word.set(tokenizer.nextToken()); context.write(word, one); } } }
package com.yone.mapreduce; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; public class MyReducer extends Reducer<Text, IntWritable, Text, IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } }
package com.yone.driver; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.input.TextInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner; import com.yone.mapreduce.MyMapper; import com.yone.mapreduce.MyReducer; public class MyDriver extends Configured implements Tool { @Override public int run(String[] args) throws Exception { Configuration conf = new Configuration(); conf.set("mapred.job.tracker", "name.yone.com:9001"); conf.set("fs.default.name", "hdfs://name.yone.com:9000/"); Job job = new Job(conf, "WordCount"); job.setJarByClass(MyMapper.class); job.setMapperClass(MyMapper.class); job.setCombinerClass(MyReducer.class); job.setReducerClass(MyReducer.class); // job.setInputFormatClass(TextInputFormat.class); // job.setOutputFormatClass(TextOutputFormat.class); TextInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); return job.waitForCompletion(true) ? 0 : -1; } public static void main(String[] args) throws Exception { // FileUtil.deleteDirectory(new File("data/output")); // args = new String[] { "data/input", "data/output" }; ToolRunner.run(new MyDriver(), new String[] { "/user/hdpadmin/input", "/user/yone/outputA" } // 入力ファイルと出力フォルダー ); } }
Jaqlの場合
典型的な、ワードカウントのMapReduceサンプルソース
ポイント:Java言語で記述する場合と、Jaqlクエリ言語で記述するコード行数の比較。簡単なワードカウントを行うようなMapReduce処理の記述も、Jaqlクエリ言語を使うとシンプル、かつ、短いコード量で記述が可能です。
© IBM Corporation 2011. All Rights Reserved. 32
オペレーター例: read
read
read(hdfs(“users”)); [ { id: 12, name: “Joe Smith”, bday: date(“1971-03-07”), zip: 94114 }, { id: 17, name: “Ann Jones”, bday: date(“1973-02-04”), zip: 94110 }, { id: 19, name: “Alicia Fox”, bday: date(“1975-04-20”), zip: 94114 } ]
クエリ(処理命令) 初期入力データ
Zipコードが94114のユーザー名の抽出
解説①
read()関数から、usersというhdfsに格納されているデータを読み込みます。
ファイル読み込み
© IBM Corporation 2011. All Rights Reserved. 33
オペレーター例: filter
filter read
read(hdfs(“users”)) filter $.zip == 94114;
[ { id: 12, name: “Joe Smith”, bday: date(“1971-03-07”), zip: 94114 }, { id: 19, name: “Alicia Fox”, bday: date(“1975-04-20”), zip: 94114 } ]
クエリ(処理命令) 中間結果データ
Zipコードが94114のユーザー名の抽出
解説②
filter()関数を用い、郵便番号が 94114のデータに絞り込みます。
ファイル読み込み 条件絞り込み
© IBM Corporation 2011. All Rights Reserved. 34
オペレーター例: transform
filter transform read
read(hdfs(“users”)) filter $.zip == 94114 transform { $.id, $.name };
[ { id: 12, name: “Joe Smith” }, { id: 19, name: “Alicia Fox” } ]
クエリ(処理命令) 中間結果データ
Zipコードが94114のユーザー名の抽出
解説③
transform()関数を用い、データフォーマットを ID – 名前の順に整形します。
ファイル読み込み 条件絞り込み データ整形
© IBM Corporation 2011. All Rights Reserved. 35
オペレーター例: write
filter transform write read
read(hdfs(“users”)) filter $.zip == 94114 transform { $.id, $.name } write(hdfs(“inzip”));
[ { id: 12, name: “Joe Smith” }, { id: 19, name: “Alicia Fox” } ]
クエリ(処理命令) 最終結果データ
Zipコードが94114のユーザー名の抽出
解説④
最後に、write()関数を用い、整形後のデータを、hdfs上のinzipというファイルに書き込みます。
まとめ:このように、JSON型式のオブジェクトを操作していく過程を「パイプライン方式()」で直感的に記述する
ことができます。
ファイル読み込み 条件絞り込み データ整形 結果書き込み
© IBM Corporation 2011. All Rights Reserved. 36
代表的な機能の概要
1. BigSheets(分析処理作成向けGUI)
2. Jaql(クエリ言語)
3. Orchestrator (ワークフロー・エンジン) 4. DB2ブリッジ
© IBM Corporation 2011. All Rights Reserved. 37
JI
JI
JI JI Active
Job
Instances
Local Filesystem
Scheduler
State Manager
State
Store
Temp
Directories
Permanent
Directories
Working
Directories
Database Distributed Filesystem
Java API
Flow
Description
Orchestrator (Metatracker)によるフロー制御管理
ワークフロー・マネージャー
- 時刻・データをトリガーにするジョブのフローを
定義
- 実行中にフロー・パラメーターを変更
- 永続データの管理
- 障害からの回復
- 大きなエラーのハンドリング(定義した処理
フロー)
© IBM Corporation 2011. All Rights Reserved. 38
代表的な機能の概要
1. BigSheets(分析処理作成向けGUI)
2. Jaql(クエリ言語)
3. Orchestrator (ワークフロー・エンジン)
4. DB2ブリッジ
© IBM Corporation 2011. All Rights Reserved. 39 39
JaqlSubmit UDF HDFSRead UDF
SQL DB2 Cubing services
Jaql client
Jaql server
Web log data on Hadoop HDFS
Infosphere Warehouse
Infosphere BigInsights
Http Http
Persistent data
SQLとhttpによるDB2とBigInsightsの連携
Excel
© IBM Corporation 2011. All Rights Reserved. 40
オンライン
アプリ
WAS &
InfoSphre
Streams
etc.
BigInsights
BigInsights(Hadoop)とDB2は連携可能。 Hadoopの活用のポイントは、「バッチ処理の並列化(高速化)」、「眠っている履歴データ
(ログ)、非定型データの有効活用」
DB2
GPFS
DB2/JDBC Bridge
DB2
files IBM Distribution of Apache Hadoop
DB2のテーブルの一部としてHadoopを検索できる
HadoopのデータとしてDB2を透過的に利用できる
SPSS Bridge
SAS、SPSSなど
統計解析ソフト
分析データのソースとしてHadoopを利用可能
Jaql
SQL
JAQL
バッチはツール等でのExport & Import処理
InfoSphere BigInsightsは既存システムと連携可能
hadoop
hadoop
© IBM Corporation 2011. All Rights Reserved. 41
BigInsightsサポート体制
© IBM Corporation 2011. All Rights Reserved. 42
BigInsightsサポート体制 IBMにおける「BigInsights」サポート体制は、以下の通りです。
BigInsights
サポート スキーム
日本IBM サポートライン
日本IBM BigInsigts
サポートライン
米国IBM BigInsigts
サポートライン
米国IBM Almaden
研究所
お客様
STSS
レベル1 レベル2 レベル3
Ooen Source
Community
ディストリビュータ (IBM)
Q&A
障害受付
Q&Aサポート
障害サポート
Q&Aサポート
障害サポート
ソースコード
FIX開発・提供
FIX提供 FIX確認 FIX
FIX
IBM Distributed Hadoop = BigInsightsは他のIBMソフトウェアと同様に
IBMの総合的サポートスキームを提供可能です
AVP
hadoop
SWG
(Software Group)
ソフトウェアエバンジェリスト、および専門チームにて数年前よりHadoopを研究
日本の製造業のお客様に多数のセンサーデータをHadoopで解析するプロジェクトをデリバリ済
上記の他に専任チーム:数名、ソフトウェアサポート窓口数名を専任アサイン済
TRL
(Tokyo Research Laboratory) IBM東京基礎研究所(TRL):インフラストラクチャ・ソフトウェア・チームが数年前よりHadoopを研究
上記SWG事例(製造業のお客様)についてもTRLチームがサポート済
© IBM Corporation 2011. All Rights Reserved. 43
まとめ: BigInsights IBMが目指す方向性
Apache Hadoopで提供されているテクノロジーを、
より簡単に
より効率的に
より堅牢に
エンタープライズ領域への適応が可能する
Hadoopのみではなく、外部連携を強化する、こと。
これにより、Big Dataという観点から、
大量データを有効活用し、
新しい知見を発見し、
ビジネスにつなげる、こと。
© IBM Corporation 2011. All Rights Reserved. 45
© IBM Corporation 2011. All Rights Reserved. ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本プレゼンeーションに含まれている情報については、完全性と正確性を帰するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本プレゼンテーションまたはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本プレゼンテーションに含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。 本プレゼンテーションでIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本プレゼンテーションで言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、Cognos、DB2、ILOG、Informix、InfoSphere、Netcool、Omnibus、solidDB、SPSS、Tivoli、WebSphereは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 Intelは Intel Corporationまたは子会社の米国およびその他の国における商標または登録商標です。 Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。 Microsoft, Windows および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。 JavaおよびすべてのJava関連の商標およびロゴは Sun Microsystems, Inc.の米国およびその他の国における商標です。 他の会社名、製品名およびサービス名等はそれぞれ各社の商標。