最新テクノロジー動向 big data/自然言語解析 · 2016. 9. 29. · ibm smart...

45
最新テクノロジー動向 Big data/自然言語解析 日本アイ・ビー・エム株式会社 クラウド・エバンジェリスト 米持 幸寿

Upload: others

Post on 20-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

最新テクノロジー動向

Big data/自然言語解析 日本アイ・ビー・エム株式会社

クラウド・エバンジェリスト

米持 幸寿

Page 2: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 2

SWテクノロジー・エバンジェリスト:米持 幸寿

• メインフレーム系ソフトウェア障害対応技術員や ワークフローソリューション開発など経て、 2000年よりIBMソフトウェア・エバンジェリスト Java、XML、J2EE、Webサービス、Web2.0・・・

• 著書12冊:最新刊 「クラウドを実現する技術」(インプレス、2009年)

• 東京工科大学クラウド設計/開発の中心的存在 現在も、クラウド構築プロジェクトに参加

• My developerWorks 「Dojoツールキット・ファン」グループをリード

Page 3: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 3

本日の講演アジェンダ

Bigdata

InfoSphere Streamsのテクニカル概要

InfoSphere BigInsightsのテクニカル概要

自然言語解析

グローバル評判分析から有効なアクションを! ~ IBM Content Analytics (ICA) ~

Page 4: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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

Page 5: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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

Page 6: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 6

InfoSphere Streamsの概要

Page 7: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 7

■目的 静的な過去のデータを分析し、過去の事実を発見する

■インプットデータ 静的で、構造化されたデータ

■コンピューティング処理 静的データに対しクエリーをかける (バッチ方式、プル型モデル)

今までの方式【過去の事実の発見】 ストリーム・コンピューティング【今の出来事】

過去の事実の発見 直近の事実を掴む

静的データ処理 ストリーミング・データ処理

ストリーム・コンピューティングとは、従来の構造化され蓄積された過去のデータに対する分析ではなく、リアルタイムで流れてくる様々なデータを処理・分析する手法。 ただし、既存のデータベース技術などをリプレイスするという考え方ではありません。

リアルタイム・データ

・・・・・・ データ処理

(特定の条件等)

クエリー

リアルタイム・データ

・・・・・・

テーブル

保管

■目的 動的なデータをリアルタイムに分析し、直近の事実を発見する

■インプット・データ 動的で、構造化データや非構造化データのストリーム

■コンピューティング処理 ストリーミング・データに対し、リアルタイムにデータ分析

データの保管はしない!

ストリーム・コンピューティングとは?

Page 8: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 8

ストリーム処理とは、データ処理のモデルのこと。

データの記録を目的とせず、流れてくるデータを加工・処理してデータ出力をする処理。

「データを受信してデータを出力する」一連の処理を最も簡単にモデル化したもの。

記録データ

データ

定期的 一括処理

処理結果

記録データ

処理要求 処理結果 データ

中間 データ

処理

データ

バッチ処理 OLTP処理 ストリーム処理

秒間 数10,000件 秒間 100~10,000件 秒間 10,000~数1,000,000件

ストリーム処理とは?

更新トランザクション

Page 9: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 9

情報ソース(取込み)

アクションまでに所要する時間

WAREHOUSE

レポート

アドホック・クエリ

データマート

ビジネスプロセッシング

& イベント管理

オペレーショナル

レポート

ダッシュボード 計画 スコアリング・カード

分析モデル & 情報

データ・インテグレーション オペレーショナル・データ・ストア(ODS)

一般的な情報処理の時間軸

Page 10: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 10

- アクションまでの実行時間短縮

- より速く予測する

アクションまでの時間

情報ソース(取込み)

WAREHOUSE

レポート

動的なクエリ

データ・インテグレーション オペレーショナル・データ・ストア(ODS)

データマート

ビジネスプロセッ

シング & イベン

ト管理

オペレーショナル

レポート

ダッシュボード 計画 スコアリング

分析モデル & 情報

分析モデル

& リアルタイムな情報

様々な コンテンツ

ストリーミング・コンピューティングの時間軸

Page 11: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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

Page 12: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 12

Streams開発(Eclipse)画面/WEB管理コンソール

Page 13: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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で実装することが できるユーザ定義関数

様々なデータを処理。 より速く、他社より速く: 様々なデータ型の処理が可能 既存の手法では、処理コストが 大きすぎるデータの処理。

容易な管理: 自動的なジョブ配置

アプリケーションの拡張 マルチ・ユーザー / マルチ・アプリケーション

ダイナミックな解析: ランタイム中でのトポロジー変更

新しいサブスクリプションの作成 新しいポートの作成

Page 14: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 14

Streamsのボトルネック解消 – 並列化の考え方

今までは:

Streamsでは:

Page 15: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 15

オペレーターをノードに分散 オペレーターをプロセスに融合

StreamsのSPLプログラムの配置の考え方

Page 16: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 16

Streamsは多くの分析能力を備えています ストリーム-リレーショナル・ビルドイン・オペレーター

© 2009 IBM Corporation 16

Joinオペレーターは2つのストリーム処理を集約させることができます。

Functorオペレーターは、タプル(データ)レベルでのデータ変換を行うことができます。

Aggregateオペレーターは、流入するタプル(データ)をグルーピング、またはサマライズすることができます。

Punctorオペレーターは、パンクチュエーション・マークを追加することができます。

Sortオペレーターは、流入するタプル(データ)に対して、処理順番を付与することができます。

Barrierオペレーターは 、同期ポイントを設定できます。 Delayオペレーターは わざと

遅くさせることができます。

Splitオペレーターは、流入するタプル(データ)を、多重度を向上さえるために、他のストリーム処理系統に分割することができます。

BundleオペレーターはSplitオペレーターで分割した複数のストリーム処理系統をマージすることができます。

Page 17: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 17

InfoSphere BigInsightsの概要

Page 18: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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

Page 19: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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/

Page 20: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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つのバージョン

Page 21: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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が中心と

なって開発

Page 22: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 22

Hadoopの2大基本機能

HDFS(Hadoop Distributed File System)

複数台のマシンをN/Wでつなげて、大きなストレージを形成

「PCサーバーは壊れるのがあたりまえ」をコンセプトに巧みなフォールトトレランス機能を提供 =安いPCサーバーでもそれなりの信頼性

MapReduce

HDFSを形成しているサーバーのCPU(計算能力)で大量処理

ソートマージのためのフレームワーク

シェアード・ナッシングにより、HDDアクセスのボトルネック解消

Page 23: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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 – 製品コンポーネント概要

Page 24: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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 製品との 連携を強化

一部実装予定の機能も含めて記載されています。

Page 25: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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独自の機能

Page 26: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 26

代表的な機能の概要

1. BigSheets(分析処理作成向けGUI) 2. Jaql(クエリ言語)

3. Orchestrator (ワークフロー・エンジン)

4. DB2ブリッジ

Page 27: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 27

BigInsightsのGUIのように 使うことができる 分析GUI (将来的に適応が 期待されるコンポーネント)

BigSheetsとは?・・・ jStartプログラム

Page 28: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 28

代表的な機能の概要

1. BigSheets(分析処理作成向けGUI)

2. Jaql(クエリ言語) 3. Orchestrator (ワークフロー・エンジン)

4. DB2ブリッジ

Page 29: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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 アルマデン研究所で

開発

Page 30: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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型式のオブジェクトを操作していく過程を記述するクエリ言語で、「パイプライン・プログラミング」と

呼ばれる型式で記述していきます。

Page 31: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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クエリ言語を使うとシンプル、かつ、短いコード量で記述が可能です。

Page 32: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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に格納されているデータを読み込みます。

ファイル読み込み

Page 33: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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のデータに絞り込みます。

ファイル読み込み 条件絞り込み

Page 34: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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 – 名前の順に整形します。

ファイル読み込み 条件絞り込み データ整形

Page 35: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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型式のオブジェクトを操作していく過程を「パイプライン方式()」で直感的に記述する

ことができます。

ファイル読み込み 条件絞り込み データ整形 結果書き込み

Page 36: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 36

代表的な機能の概要

1. BigSheets(分析処理作成向けGUI)

2. Jaql(クエリ言語)

3. Orchestrator (ワークフロー・エンジン) 4. DB2ブリッジ

Page 37: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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)によるフロー制御管理

ワークフロー・マネージャー

- 時刻・データをトリガーにするジョブのフローを

定義

- 実行中にフロー・パラメーターを変更

- 永続データの管理

- 障害からの回復

- 大きなエラーのハンドリング(定義した処理

フロー)

Page 38: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 38

代表的な機能の概要

1. BigSheets(分析処理作成向けGUI)

2. Jaql(クエリ言語)

3. Orchestrator (ワークフロー・エンジン)

4. DB2ブリッジ

Page 39: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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

Page 40: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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

Page 41: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 41

BigInsightsサポート体制

Page 42: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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チームがサポート済

Page 43: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 43

まとめ: BigInsights IBMが目指す方向性

Apache Hadoopで提供されているテクノロジーを、

より簡単に

より効率的に

より堅牢に

エンタープライズ領域への適応が可能する

Hadoopのみではなく、外部連携を強化する、こと。

これにより、Big Dataという観点から、

大量データを有効活用し、

新しい知見を発見し、

ビジネスにつなげる、こと。

Page 44: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© IBM Corporation 2011. All Rights Reserved. 44

自然言語解析

Page 45: 最新テクノロジー動向 Big data/自然言語解析 · 2016. 9. 29. · IBM Smart Analytics System InfoSphere Warehouse リアルタイム 分析・計算 大量分析・

© 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.の米国およびその他の国における商標です。 他の会社名、製品名およびサービス名等はそれぞれ各社の商標。