Upload
takahiro-inoue
View
32.924
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
1
February 14th, 2014
Presented by
Takahiro Inoue – Chief Data Scien:st
2
Presented by
Takahiro Inoue – Chief Data Scien:st
Sec.0 Company & Product Overview Sec.1 Data Collec:on Sec.2 Data Storage Sec.3 Data Management
Management Console Sec.4 Data Processing
Treasure Query Accelerator
Sec.5 Data Processing Design Cubic Data Processing Design Graph Data Processing Design
Sec.6 Data Visualiza:on Treasure Viewer Dashboard: Metric Insights Business Intelligence: Tableau
Sec.7 Learning Visualiza:on PaTerns (blog link)
Agenda
3
Presented by
Takahiro Inoue – Chief Data Scien:st
• Takahiro Inoue (TwiTer: @doryokujin )
• Majored in Mathema:cs in Keio University
• Chief Data Scien:st and Solu:on Architect @ Treasure-‐Data
• Leader of Japanese MongoDB Community, Mongo Masters
Introduc-on
4
Sec.0 Company & Product Over View
5
Presented by
Takahiro Inoue – Chief Data Scien:st
Company & Product Over View
会社概要 チーム概要
Hiro Yoshikawa – CEO Open source business veteran
Kaz Ohta – CTO Founder of world’s largest Hadoop Group
Jeff Yuan – Director, Engineering LinkedIn, MIT / Michale Stonebraker Lab
Keith Goldstein – VP Sales & BD VP, Business Devt, Tibco and Talend
Rich Ghiossi – VP Marketing VP Marketing, ParAccel and HP
投資家概要
Bill Tai Renown investor, GP Charles River Ventures
Jerry Yang Founder, Yahoo!
Yukihiro “Matz” Matusmoto Creator, “Ruby” programming language
James Lindenbaum Founder, Heroku
Sierra Ventures – (Tim Guleri) Leading venture capital firm in Big Data
2011年12月創業、米国カリフォルニア州。創業者は日本人3人組。2013年12月現在、社員約30名。
ビッグデータの収集・保存・解析を一手に行えるクラウドサービスを提供。他のサービスと異なり、数日で始められるのが特徴。
サービスコンセプト • すぐに使い始められる • クラウドサービスとしての提供を行う • シンプルな機能セット、手厚いサポート
• “Trend Setting Products” in Data for 2014(Database Trends and Applications)
• “5 Hot Big Data Startups”(Enterprise Apps Today)
6
Presented by
Takahiro Inoue – Chief Data Scien:st
Company & Product Over View
事業概要 (2013年12月8日現在)
>50% 四半期のアカウント数の伸び
>100 顧客数
>2,500,000,000,000 お客様から預かっている
レコード数
>7,000,000 実行した解析ジョブの数
1秒間に保存されている レコード数
>4,000 顧客がデータ収集を行っている
アプリケーションサーバー数
>150,000
7
Presented by
Takahiro Inoue – Chief Data Scien:st
Company & Product Over View
Product Overview
Web logs
App logs
Sensor
CRM
ERP
RDBMS
Data Collection Data Analysis
Streaming Log !Collector (JSON)!
Treasure Agent
Parallel Upload from CSV, MySQL, etc.!
Bulk Import
REST API, SQL, Pig, JDBC / ODBC!
BI Connectivity
REST API, SQL, Pig!
Result Push
Data Storage
Treasure Batch Query &
Treasure Query Accelerator
Time to Value Economy & Flexibility Simple & Supported
No Command Line,!Every Operation is Here! !
Management Console New!!
New!!
BI Tools
Dashboards Custom App, Local DB,
FTP Server, etc.
Cloud DB, Web App, & Command Line Flexible, Scalable, Columnar Storage!
Tableau, Metric Insights, Dr.Sum, Excel, etc.
Treasure Viewer New!!
Value Proposi-on 1 Value Proposi-on 2 Value Proposi-on 3
収集・保存・解析まで単一のサービスでの提供を行うサービスはTreasure Dataのみ。
8
Presented by
Takahiro Inoue – Chief Data Scien:st
ビッグデータ活用:7つのステージ
定型レポート
アドホックレポート
ドリルダウン
アラート
統計分析
予測分析
最適化
What happened?
Where?
Where exactly?
Error?
Why?
What’s a trend? What’s the best?
データ解析
レポーティング
お客様の進化に合わせて、我々のサービスも進化を続ける。
9
価格プラン: Premium Plan
Free Standard Premium Custom
価格 $0 $3000/月 $7500/月 -‐
レコード数 年間20億件 年間150億件 年間500億件 Unlimited
バッチクエリ 0コア 8コア 16コア Unlimited
アドホック クエリ N/A N/A ○ Unlimited
ユーザー数 1 5ユーザー 20ユーザー Unlimited
サポート オンライン 通常 専任 Nego:able
大企業様からの要望に答える形で、サポート体制の強化を行ったプランを新設
10
サービスポジショニング
自社 データ
センター
構造化データソース (取引履歴、会計、個人情報、etc)
非構造化、新しいデータ・ソース (Web、センサー、デバイス、etc)
マーケティングクラウド (DMP)
アプリケーションログのレポーティング、分析
センサーデータ/M2M Internet of Things
クラウド
自社データセンターで 保存・解析するには
コスト・人材面でマッチしない
セキュリティ/法律上 クラウドにデータが
上げられない事が多い
補完関係
11
なぜ Treasure Data? – 実装の早さ、本質的な作業に集中
• 既存のデータウェアハウスの実装プロセス
• Treasure Dataのクラウドサービス
Data Collection ETL Data Warehouse BI/Reporting
6ヶ月 ~ 1年, 5-10億円+maintenance, ベンダーロックイン
Data Collection ETL Data Warehouse BI/Reporting
2 – 3週間
月額課金制での支払い
既存のBI/Reportingが利用可能
12
Value Proposi-on
• Faster -me to value
• Cloud flexibility and economics
• Simple and well supported
13
Advantage of Treasure Data
Value Advantage
Faster -me to Value Data Collection • Bulk Import 機能が大規模データの高速インポートを
サポート。 • Streaming 機能によってほぼリアルタイムにデータ収
集を開始できる。
Data Processing • 計算ノードのオンタイムによる追加で高速に並列処理
が実行可能。 • Streaming 機能によって,デイリーのバッチ処理を待
たずして分析が可能。
14
Advantage of Treasure Data
Value Advantage
Cloud flexibility and economics Data Collection • テキスト,DB,FTP など多様なデータソースへのプラグ
インを用意。 • Streaming 機能によってほぼリアルタイムにデータ収
集を開始できる。
Data Storage • 低限のコストで∞ストレージを提供。 • JSON ライクの,スキーマレスを実現。
Data Processing • 必要に応じてノード数をオンタイムで変更可能。 • ストレージ・ノード数に応じた従量制の価格体系。
Data Result Export • JDBC, ODBC プラグインを用意。 • 集計済のデータのエクスポート先 CSV,ダッシュボード,
BI,DB など多様なプラグインを用意。
15
Advantage of Treasure Data
Value Advantage
Simple and well supported
Data Collection • Fluentd の豊富なドキュメントと様々なプラグインに
よってラーニングコストを 小化。
Data Storage • Management Console からデータの参照が可能。
Data Processing • SQL ライクの簡潔なクエリ言語によって実行可能。
Data Result Export • Treasure Viewer, Metric Insights, Tableau をサポート。
16
Sec.1 Data Collec-on • Treasure Agent (Fluentd)
Parallel Upload from CSV, MySQL, etc.!
Bulk Import
17
Sec.1 Data Collec-on
Web logs
App logs
Sensor
CRM
ERP
RDBMS
Data Collection Data Analysis
Streaming Log !Collector (JSON)!
Treasure Agent REST API, SQL, Pig, JDBC / ODBC!
BI Connectivity
REST API, SQL, Pig!
Result Push
Data Storage
Treasure Batch Query &
Treasure Query Accelerator
Time to Value Economy & Flexibility Simple & Supported
No Command Line,!Every Operation is Here! !
Management Console New!!
New!!
BI Tools
Dashboards Metric Insights, etc.
Cloud DB, Web App, & Command Line Flexible, Scalable, Columnar Storage!
Tableau, Dr.Sum, etc.
Treasure Viewer New!!
Focus!
18
”データ解析の世界をシンプルにする”
”データ収集をシンプルにする”
19
Web logs
App logs
Sensor
Treasure Agent Streaming Log !Collector (JSON)!
Parallel Upload from CSV, MySQL, etc.!
Bulk Import CRM
ERP
RDBMS
Treasure Data Cloud
新しいデータソース 従来のデータソース
• 「新しいデータソース」 = 各自のアプリケーション
から Treasure Data Library を利用して取得する
データ • 例:Heroku アプリケーションログ(Heroku
Plugin)・ソーシャルゲームログ・モバイルデバイ
スログ・センサーデータ・etc… • これらのデータはデータ量が変化しやすく,また
既に取得項目が構造化されている。
• 「従来のデータソース」 = 既に過去に蓄積され,
データベースなどに保存されているもの。 • 例:POSデータ,Site CatalystやMedia Mindなど
の分析ツールが裏で保持しているローデータ。 • 試験プロセスとして過去の特定の期間のデータ
をアップロードする場合。 • これらのデータは Bulk Import ツールを用いた
並列インポートで効率良く一気にクラウドスト
レージに送る。
データソースに応じた2種類のインポートメソッド
20
Data Acquisi-on – Bulk Loader
Treasure Data
Cloud
RDBMS App SaaS
FTP
CSV, TSV, JSON, MessagePack, Apache, regex, MySQL, FTP
Bulk Loader
Prepare > Upload > Perform > Commit
21
Data Acquisi-on – Streaming Capture
Treasure Data Cloud
# Application Code ... ... # Post event to Treasure Data TD.event.post('access', {:uid=>123}) ... ...
Treasure Data Library Java, Ruby, PHP, Perl, Python, Scala, Node.js
Applica:on Server
Treasure Agent (local)
• Automa:c Micro-‐batching • Local buffering Fall-‐back • Network Tolerance
22
Treasure Data が提案する新しいデータ: Event Base Logs
# Application Ruby Code ... # Post event to Treasure Data TD.event.post(’login', {:uid => 123, :device => ’smart phone’ :time => 138959673 }) ... TD.event.post(’pay', {:uid => 123, :name => ’ItemA’, :sub_category => ’a’, :category => A, :count => 2, :price => 300 :time => 138959673 }) ... TD.event.post(’invite', {:uid => 123, :invited_uid => 456, :campaign_name => ’invite_event_2’, :time => 138959673 })
For Social Game Analy:cs # HTML Source ... # Post event to Treasure Data TD.event.post(‘login', {‘uid’ : get_session(), ‘time’ : 138959673 }) ... TD.event.post(’conversion', {‘uid’ : 123, ‘conversion_id’ : ’conv_1’, ‘referer’ : ’www.top.html’, ‘time’ : 138959673 }) ... TD.event.post(’add_cart', {‘uid’ : 123, ‘product_name’ : ‘book1’, ‘cart_id’ : 1, ‘time’ : 138959673 }) ... TD.event.post(’subscribe', {‘uid’ : 123, ‘mail’ : ‘[email protected]’, ‘plan’ : ‘$300’, ‘time’ : 138959673 })
For Web Analy:cs
Treasure Data Library Java, Ruby, PHP, Perl, Python, Scala, Node.js , JS Tag Library
23
Treasure Data が提案する新しいデータ: Event Base Logs
# Java Code ... # Post event to Treasure Data TD.event.post(’ignition_on', {‘uid’ : 123, ‘longitude’ : 135, ‘latitude’ : 36, ‘odometer’ : ‘100km’, ‘room_temperature’: 24 ‘last_iginition_off_time’ : 138959000, ‘time’ : 138959673 }) ... TD.event.post(’airbag_on', {‘uid’ : 123, ‘longitude’ : 135, ‘latitude’ : 36, ‘time’ : 138959673 }) ... TD.event.post(’pedal_accelerator', {‘uid’ : 123, ‘longitude’ : 135, ‘latitude’ : 36, ‘speed’ : ‘70km/h’, ‘acceleration’ : ’1m/s^2’, :time : 138959673 })
For Telema:cs Analy:cs # HTML Source ... # Post event to Treasure Data TD.event.post(‘pay', {‘uid’ : get_session(), ‘price’ : 1000, ‘genka’ : 800, ‘area’ : ‘Tokyo’, ‘time’ : 138959673 }) ... TD.event.post(’post_comment', {‘uid’ : 123, ‘item_name’ : ’itemA’, ‘rating’ : 4, ‘comment’ : ‘使いやすくてTD 高です!’, ‘time’ : 138959673 }) ... TD.event.post(’visit_from_affiliate', {‘url’ : ‘www.hoge.com’, ‘affliate_url’ : ‘www.sale.com’, ‘session_id’ : get_session(), ‘time’ : 138959673 }) …
For EC Analy:cs
Treasure Data Library Java, Ruby, PHP, Perl, Python, Scala, Node.js , JS Tag Library
Heroku Add-on: Treasure Data Hadoop によって Herokuアプリケーションからのログのストリーミング収集が容易かつ低コストで実現。
Before
After
Heroku Add-‐on: Treasure Data Hadoop
hTps://addons.heroku.com/treasure-‐data
* 参考記事: hTp://doryokujin.hatenablog.jp/entry/2012/07/05/025737
25
Project
• Treasure Data のデータコレクタ部分は、オープンソース化 – 2013年、国内外で広く浸透 – 世界中でデータを解析可能な形で収集するのに一役買っている
"We utilize Fluentd to collect a very large amount of logs. The logs are written into Hadoop HDFS clusters, and are also used to analyze various service statuses in realtime. We also use many plugins from rubygems.org to further enhance this mechanism." Fluentd is very similar to Apache Flume or Facebook’s Scribe [but] it’s easier to install and maintain and has better documentation and support than either Flume or Scribe”
"We use Fluentd to collect massive data logs for our platforms. Having developed a system based on Fluentd, we are now effectively monitoring and analyzing our services in real-time. We are very much satisfied with its flexibility, especially how easy it is to use in tandem with other systems."
Fluentd オープンソースプロジェクトのユーザー例
26
Before Fluentd: M x N 通りのデータ収集・活用方法
27
A\er Fluentd: M + N 通りに経路を集約して簡素化
Nagios
MongoDB
Hadoop
Alerting
Amazon S3
Analysis
Archiving
MySQL
Apache
Frontend
Access logs
syslogd
App logs
System logs
Backend
Databasesfilter / buffer / routing
28
Treasure Agent Monitoring Service
• td-‐agentのモニタリングサービス – Treasure Dataのクラウドサービスの一機能 – fluent-‐plugin-‐td-‐monitoringをインストール
• td-‐agent v1.1.18 にはこっそり既に入っております
td-‐monitoring
Treasure Data Service
統計情報の定期送付 (毎分) • システム統計情報 • Fluentd内部メトリクス情報 • SSLによる送信
Treasure Agent
29
Summary -‐ Our 2 Import Methods -‐
Streaming Bulk Loader
• ほぼリアルタイムにログの収集が可能。 • あらゆるデータソースを接続口として持
つ(Fluentd In-Plugin)。 • あらゆるアウトプット形式に対応
(Fluentd Out-Plugin)。 • 定常的にネットワーク帯域を使える。 • ネットワークの遅延などにより,多少の
データロストがある場合がある。
• 数十GB〜数TBの大規模データに対応。 • 並列処理で高速にアップロード。 • データのロストが無く安心。
これから取得するデータはStreamingで,既に蓄積している 数年分のデータはBulk Loaderを用いることでデータの一元 管理が可能。
30
Sec.2 Data Storage • Treasure Cloud Storage
31
Sec.2 Data Storage
Web logs
App logs
Sensor
CRM
ERP
RDBMS
Data Collection Data Analysis
Streaming Log !Collector (JSON)!
Treasure Agent
Parallel Upload from CSV, MySQL, etc.!
Bulk Import
REST API, SQL, Pig, JDBC / ODBC!
BI Connectivity
REST API, SQL, Pig!
Result Push
Data Storage
Treasure Batch Query &
Treasure Query Accelerator
Time to Value Economy & Flexibility Simple & Supported
No Command Line,!Every Operation is Here! !
Management Console New!!
New!!
BI Tools
Dashboards Metric Insights, etc.
Cloud DB, Web App, & Command Line Flexible, Scalable, Columnar Storage!
Tableau, Dr.Sum, etc.
Treasure Viewer New!!
Focus!
32
Data Storage
Treasure Data Cloud
-me v
1384160400 {“ip”:”135.52.211.23”, “code”:”0”}
1384162200 {“ip”:”45.25.38.156”, “code”:”-‐1”}
1384164000 {“ip”:”97.12.76.55”, “code”:”99”}
-me ip : string code : int
1384160400 135.52.211.23 0
1384162200 45.25.38.156 -‐1
1384164000 97.12.76.55 99
Default (schema-‐less)
Schema applied ~30% Faster
• “スキーマレス” な JSON形式で保存 – 変更されたスキーマも既存の
テーブルへの保存が可能。 • 列指向データベースを採用。 • スキーマを定義する事でパフォーマ
ンスが大幅に上昇。 • 特に時間をキーにしたフィルタリン
グに強み。 • 「容量を気にすることなく,あらゆる
データをとにかく蓄積していく,必要なことものはそれから考えましょう」
*スキーマを定義することでパフォーマンスが 大幅にアップ。
33
従来のストレージ,SQL,No SQL
従来の(クラウド)ストレージ • 非構造化によるデータの保持
• データ抽出,集計時にファイルの読込が毎回必要
• 圧縮,解凍は入出力の際にマニュアル処理
SQL • 構造化とインデックスで高速処理が可能
• スキーマの追加が困難
• スケールしにくく,その場合の管理コストが大
No SQL • 柔軟なデータ保持方法
• スケーリングに強いものも
• 歴史が浅く,情報源が少ない
• 各No SQLに特化した人材コスト
210.233.9.2 -‐ -‐ [07/Aug/2006:10:45:40 +0900] "GET /img/mtdc.gif HTTP/1.1" 200 1242 "hTp://mermaid-‐tavern.com/" "Mozilla/4.0 (compa:ble; MSIE 6.0; Windows NT 5.1; SV1)
210.233.9.2 -‐ -‐ [07/Aug/2006:10:45:40 +0900] "GET /img/mtdc.gif HTTP/1.1" 200 1242 "hTp://mermaid-‐tavern.com/" "Mozilla/4.0 (compa:ble; MSIE 6.0; Windows NT 5.1; SV1)
-me Ip Code
1384160400 135.52.211.23 0
1384162200 45.25.38.156 -‐1
34
Treasure Data Cloud のメリット
Treasure Data Cloud
-me v
1384160400 {“ip”:”135.52.211.23”, “code”:”0”}
1384162200 {“ip”:”45.25.38.156”, “code”:”-‐1”}
1384164000 {“ip”:”97.12.76.55”, “code”:”99”}
Treasure Data Cloud のメリット
• 変更されたスキーマも既存のテーブル
への保存が可能
• (S3に準ずる)高いデータの機密性・
堅牢性を保持 • レコード数に応じた課金体系,多くの
場合は非常に低コストで利用可能 • データは自動で圧縮して保存 • Hive(SQL Like)クエリによるデータの
抽出および集計がダイレクトに可能 • データの管理・運用にかかる人材コス
トが不要
“巨大な列指向データベース“
35
Treasure Management Console によるデータ管理
Database Table
指定したDB名,Table名に対してHive (SQL-Like) Query を実行することによりデータの抽出および集計がストレージに対してダイレクトに行える。
New Query
36
サービスポジショニング
自社 データ
センター
構造化データソース (取引履歴、会計、個人情報、etc)
非構造化、新しいデータ・ソース (Web、センサー、デバイス、etc)
マーケティングクラウド (DMP)
アプリケーションログのレポーティング、分析
センサーデータ/M2M Internet of Things
クラウド
自社データセンターで 保存・解析するには
コスト・人材面でマッチしない
セキュリティ/法律上 クラウドにデータが
上げられない事が多い
補完関係
37
Try & Error Itera-on:中間データをどこに保持するか
自社 データ
センター
ローデータ,クラウドに上げられないデータ
ローデータ,フィルタ済データ, 分析用中間データ,tempデータ
ローデータ
- フィルタ済データ
- 分析用中間データ - データキューブ
クラウド
様々な Try And Error の末に保存対象となったナレッジデータのみローカルに保存することでコスト減。
- テンポラリデータ 中間データ群を自社データセンターに保存するだけで大幅なコスト。
Try & Error Itera-on
38
データ横串分析1:中古車相場データからの応用
Car Sensor : B to C の中古車相場
業者間オークション : B to B の中古車相場
個人間オークション : C to C の中古車相場
新車カタログ : 新車価格,車両情報
レビューサイト : 車両レビュー
業者が卸してから販売 する際のマージンに注目
新車からの値落ち率と年式等との関係に注目
業者の販売値と個人間の販売値との乖離 = (整備・保証料) に注目
レビューの高さと中古車相場の関係に注目
39
データ横串分析2:オンラインゲーム横断分析
40
新しいデータ:The Internet of Things(IoT)
When everything has an ID, and can send data about itself…
41
テレマティクスとは
• Telecommunica:on(通信) + Informa:cs(情報科学) – 自動車などの移動体に通信システムを組み合わせて、リアルタイム
に情報サービスを提供すること
• モダン・テレマティクスデータの特徴 – 車両のID(車載機)と、運転者のID(スマートフォン)を別々に管理す
ることができるため、どの車に誰が乗ったかを自動的に判別可能。
– 拡張性:車載器だけでなく,スマートフォンからも詳細なデータ取得
が可能に。モニターやカメラ、加速度センサーなど、スマートフォン
に搭載されているデバイスであれば、ハードの追加無く拡張可能。
並列アップロード Bulk Import
ストリーミングアップロード!Treasure Agent
42
Telema-cs Data Analysis
自動車保険: -‐ 走行距離連動型保険 -‐ 運転の雑さを指標化
電気スタンド需要 -‐ 駐車が多い施設の特定
電気自動車需要 -‐ 一回の走行距離・距離が 少ないエリアの特定
渋滞予測システム -‐ 車速や単位当たりの移動距離 から渋滞エリアを特定
-‐ 緯度・経度 -‐ アクセルON/OFF -‐ イグニッションON/OFF -‐ 車速・燃費
43
Leading/Well-Known Auto Manufacturer
• Telematics!– 200 sensors in new cars!– Each collect data every 10 seconds!
• Business Benefits!– Dramatically lowers friction for!
new projects!• And prototypes!
– Focus resources on the cars !and the data!
• Not the data collection or storage!– Big Data pipeline up in days!
• Minimal upfront investment!• Initial results in few days!
44
World’s largest OBD provider
• Telematics!– On-board Diagnostics (OBD) vendor!– Building a embeddable solution for auto
manufacturers!
• Business Benefits!– Looking to build a turn-key !
solution for auto manufacturers • But they don’t have Big Data expertise!• They want to focus on their OBD solution
and leadership position!– ROI expected at 25-50x!
• Over using a traditional data warehouse approach!
45
Innovative Semiconductor Company
• Wearable Sensors!– Wrist-band activity sensor!– Tracks movement & exercise!
• Business Benefits!– Looking to build a turn-key solution !
for fitness brands • As a semiconductor company, !
they don’t have in-house expertise !on Big Data infrastructure!
– They need to develop quickly !to secure a leadership position !with major brands before their competitors do!
Android
46
Sec.3 Data Management • Treasure Management Console
47
Sec.3 Data Management
Web logs
App logs
Sensor
CRM
ERP
RDBMS
Data Collection Data Analysis
Streaming Log !Collector (JSON)!
Treasure Agent
Parallel Upload from CSV, MySQL, etc.!
Bulk Import
REST API, SQL, Pig, JDBC / ODBC!
BI Connectivity
REST API, SQL, Pig!
Result Push
Data Storage
Treasure Batch Query &
Treasure Query Accelerator
Time to Value Economy & Flexibility Simple & Supported
No Command Line,!Every Operation is Here! !
Management Console New!!
New!!
BI Tools
Dashboards Metric Insights, etc.
Cloud DB, Web App, & Command Line Flexible, Scalable, Columnar Storage!
Tableau, Dr.Sum, etc.
Treasure Viewer New!!
Focus!
48
Our 2 Management Tools
Treasure Command Line Tools ( for Engineer )
Treasure Management Console ( for Analyst, Decision Maker )
• 豊富なコマンド群を通じて詳細な情報を得
ることが可能。 • シェルスクリプトなどと合わせて自動化が
できる。 • UIでなくコマンドラインでないと落ち着かな
いエンジニア向けに。
• Web UI からデータベースおよびテーブル
の状況を把握できる。 • 各テーブル内のデータサンプルを素早く
参照できる。 • クエリの記述・実行もここから可能。 • さらに Treasure Viewer によってすぐにグ
ラフ化することが可能。
Management Console の登場によって,より多くのアナリスト・意思決定者自身がCloud Databaseに触れる機会が増える。
49
Watch Databases
データベースの一覧。データベース名,作成日,更新日の一覧。各データベース名をクリックすることでテーブル一覧へ。
50
Watch Tables
特定のデータベースのテーブル一覧。レコード数,圧縮後のデータサイズ,更新日,作成日。各テーブル名をクリックすることでレコードの取得が可能。
51
Tail Records
特定のテーブルに格納されているレコードを参照できる。
52
Watch Jobs
現在実行されている・終了したジョブの一覧。クエリ内容やStatusの確認が可能。実行中・失敗・スロークエリの特定も可能。
53
Set Schedule
定型のバッチクエリはCRONライクな設定方法で,容易にスケジューリング可能。
54
U-liza-on
現在のデータ使用状況・コア数等を表示するUtilization。
55
Sec.4 Data Processing • Treasure Batch Query • Treasure Query Accelerator
56
Sec.4 Data Processing
Web logs
App logs
Sensor
CRM
ERP
RDBMS
Data Collection Data Analysis
Streaming Log !Collector (JSON)!
Treasure Agent
Parallel Upload from CSV, MySQL, etc.!
Bulk Import
REST API, SQL, Pig, JDBC / ODBC!
BI Connectivity
REST API, SQL, Pig!
Result Push
Data Storage
Treasure Batch Query &
Treasure Query Accelerator
Time to Value Economy & Flexibility Simple & Supported
No Command Line,!Every Operation is Here! !
Management Console New!!
New!!
BI Tools
Dashboards Metric Insights, etc.
Cloud DB, Web App, & Command Line Flexible, Scalable, Columnar Storage!
Tableau, Dr.Sum, etc.
Treasure Viewer New!!
Focus!
57
Big Data Infrastructure
…and building a Big Data infrastructure is complicated, expensive, and requires skills that are very hard to hire.
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
O/S Hardware
Networking
Storage Layer
Frameworks
Processing Engines
Applica:on Interfaces
Streaming Collec:on Batch Collec:on Business Rules Data Integra:on Consump:on / Analy:cs
58
Hive
Pig
MapReduce
Dashboard
BI Tools
ML / Graph Mining
Data Analysis
Data Insight Deep
Date, Product Category, Area User Id
Granularity
Small
Auto
What Helps?
Human Decision
Machine Learning
Intermediate Data Aggregator Business
Goal Batch Process Interac-ve
Their Own Products
Enterprise
Open Source
Impala
Database
Cube
File / HDFS
Batch
Ad-‐hoc
59
Treasure Query Accelerator • Treasure Query Accelerator (TQA)
– アドホックデータ解析向けのクエリエンジン – 既存のバッチ型クエリエンジンと比較し、10 〜 50倍高速 – 目的に応じて、既存のバッチ型クエリエンジンと使い分け
MPP (Massively Parallel Processing) Query Executor
Plazma Cloud Storage
(2.5兆件のデータを保持)
Queries
60
Data Analysis
Scripted Processing (Pig): -‐ DataFu (LinkedIn) -‐ Piggybank (Apache)
Heavy Li\ing SQL (Hive): -‐ Hive’s Built-‐in UDFs -‐ TD Added Func:ons: -‐ Time Func:ons -‐ First, Last, Rank -‐ Sessionize
JDBC Connec-vity: -‐ Custom Java Apps -‐ Standards-‐based -‐ BI Tool Integra:on
Tableau ODBC connector -‐ Leverages Impala
Push Query Results: -‐ MySQL, PostgreSQL -‐ Google Spreadsheet -‐ Web, FTP, S3 -‐ Le{ronic, Indicee -‐ Treasure Data Table
Interac-ve SQL Treasure Query Accelerator (Impala)
Scheduled Jobs -‐ SQL, Pig Scripts -‐ Data Pushes REST API
61
Data Insight Deep
Date, Product Category, Area User Id
Granularity
Small
Auto
What Helps?
Human Decision
Machine Learning
Database
Cube
Dashboard
BI Tools
Intermediate Data Aggregator Business
Goal Batch Process Interac-ve
Batch
Ad-‐hoc
SQL-‐like
Que
ry Lan
guage
Database
Cube
File / HDFS
Data Analysis
Treasure Batch Query (Hive)
Treasure Query Accelerator (Impala)
New!!
Treasure Scripted
Query (Pig)
Scrip
t
多段MapReduce
62
Comparison Between Batch and Ad-‐hoc
バッチ型クエリ アドホック型クエリ
SQL-‐style Query Language -‐ ラーニングコストが低い -‐ 参考になる情報が溢れている -‐ Join, Group by, Where の概念は馴染み
やすい
〃
JDBC/ODBC Driver -‐ 多数のBIがJDBC/ODBCに対応 -‐ それ以外のBIでもコネクタを作る事が
可能
Yes! Interac-ve!! -‐ インタラクティブな操作が実現 -‐ クリック・ドラッグ操操作で直接
Treasure Cloud Storage へアクセスが
可能に
For R/Excel/SPSS -‐ 解析に必要なデータセットの抽出 -‐ Hiveの出力データ構造と解析ツールの
入力形式の親和性が良い -‐ 入力データ抽出→解析→入力データ修
正→… のイテレーション
For Automa-c System -‐ リコメンドエンジンや広告配信システム
など,常に結果を参照し続けるシステム
に対応
Monitoring
BI Tools
Data Analysis
63
バッチ型クエリ アドホック型クエリ
定時レポーティング • 顧客向けの定時パフォーマンスレ
ポーティング • 1時間に1回の更新、確実に終わら
せる事が重要
配信 適化 • 接続しているアドネットワークのパ
フォーマンスをリアルタイム集計 • 集計結果から広告配信のロジックをリ
アルタイムに 適化
定時レポーティング • 社内 / 子会社 / 経営層向けの定期
パフォーマンスレポーティング • 大量のKPIを定義し、毎日 / 毎時確
実に終わらせる事が重要
サポート業務効率化 • ユーザーからのサポートリクエストに
応じてその場でデータを集計 • サポートのレスポンス・対応業務を効
率化し、ユーザーの満足度向上に繋
げる
定時レポーティング • PoS・Webサイト解析システム・タッチ
パネルシステムから上がってくる
データの定期レポーティング • 毎時確実に終わらせる事が重要
即時バスケット分析 • 過去数年分、数百億件のデータから、
その場でバスケット分析を実行可能 • 商品開発のミーティングの中で、過去
データを参照。データを元にした商品
開発活動を開始
オンライン広告
Web / Social
リテール
64
New Query (Batch) From Console Query Type を”Hive”に設定
Treasure Management Console よりクエリの実行が可能。その際に Hive(Batch Query),Impala(Ad-‐hoc Query) の選択が可能。
65
New Query (Ad-‐Hoc) From Console Query Type を”Impala”に設定
66
Result
Resultを表示,csv等にエクスポートも可能。
Batch ならば数分,Ad-Hoc なら数秒で結果が得られる。
67
Sec.5 Data Processing Design • Cubic Data Processing Design • Graph Data Processing Design
68
Data Scien-st に求められる3つの”プロフェッショナル”
役割 必要なスキル
1. 適切な 「前処理」 を行うこと • あらゆるデータソースからデータを収集できるインフラスキル • 手元で手早く処理を行うためのシェルスクリプティング能力 • 泥臭い作業を続ける忍耐力
2. 「集計」 をパターン化して半機械的なプロセスに落とし込むこと
• 専門家では無い人にも 「集計」 が行えるようにするための Processing Design スキル
• あらゆる 「集計」 をもれなく押さえ,パターン化する数学的ス
キル • 自分は 「集計」 をするために存在するのではなく,「分析」
するために存在するのだという信念
3. 意思決定者に対してアクショナブルな考察をもたらす 「分析」 を行うこと
• 深い分析をしても,専門家ではない意思決定者に理解しても
らえるための説明力 • できるだけシンプルに,かつアクショナブルな考察をもたらす
ためのデータ表現(可視化)スキル
Focus!
69
Dashboard
BI Tools
1. Cubic Data Processing Design: Goal Source Tables
Big Cube
Cross Tables
Mini Cubes Visualize
非専門家による Mini Cube の作成,クロス集計,Dashboard 埋め込み
専門アナリストによる KPI レポーティング
専門アナリストによる前処理, Big Cube の作成 パターンプロセス
専門アナリストによる 応用分析
Big Cube
70
Dashboard
BI Tools
1. Cubic Data Processing Design: For Treasure Data Source Tables
Big Cube
Cross Tables
Mini Cubes Visualize
専門アナリストによる前処理, Big Cube の作成
非専門家による Mini Cube の作成,クロス集計,Dashboard 埋め込み
専門アナリストによる KPI レポーティング
パターンプロセス
専門アナリストによる 応用分析
71
Dashboard
BI Tools
Source Tables
Big Cube
Cross Tables
Mini Cubes Batch Process Interac-ve Batch Process Interac-ve Visualize
Treasure Batch Query
Treasure Batch Query
Treasure Batch Query
Treasure Ad-‐hoc Query
Treasure Ad-‐hoc Query
BI Tools
Excel
Import
Import
Connector
On Memory
1. Cubic Data Processing Design: For Treasure Data
72
Source Tables
Big Cube Batch Process
Treasure Batch Query
1-‐1. Making Big Cube
Focus!
• JOIN 可能な複数のデータソースを1つのテーブルにまとめる。
• 全てのディメンジョンをGROUPキーにした集計を実行する。
• 大規模なデータ処理になる場合は,時間分割などをする。
• Dashboard や BI から直接 Big Cube を参照することはない。(Ad-‐hoc クエリは例外。)
• i.e. 一度Big Cubeを作ったら,ソーステーブルは二度と参照しない。
• 全ての項目を「メジャー」と「ディメンジョン」に分類する。
専門アナリスト
73
Car Hierarchy
name country_name …
Name code grade model series body_code body_name period …
code large_area_name …
carsensor table brand_master table
id name grade model code body_name price year shop_pref_code shop_pref_name ...
Schema: Car Sensor:
1. Table Join
catalog table
pref_master table
hTp://doryokujin.hatenablog.jp/entry/2014/01/22/184300
74
Data Cube
Ex. Cube for ( Country, Car Name, Year )
Year Level
Cell: ( Prius, Korea, 2005) -‐-‐> 10,000
Products Date
Loca-on
PRIUS
MARK X
FAIRLADY Z
ROAD STAR
USA Canada Japan Korea
2005
2006
2007
Car Name Level
Country Level
ディメンジョン(階層がある場合は 上位階層を選択する)を固定することで,各ディ
メンジョンを次元軸に,1つのメジャーを各セルに取ったData Cubeを作成できる
1. Cubic Data Processing Design
75
Car Hierarchy
Loca-on Country State City
Date Year Month Day
Products Company Car Type Car Name
Fact table Dimension tables
State Month Car Name
Profit Sales Payroll Marke-ng Inventory Margin ...
Star Schema
Hierarchy (level-‐of-‐detail)
1. Cubic Data Processing Design
76
Dimension, Measure – Original Table
– Big Cube
County State City Company Car Type Car Name Date Units Sales
USA California San Jones TOYOTA Sedan Corolla 2012-‐08-‐15 36 $3,000
USA California Palo Alto TOYOTA Sedan Alion 2012-‐08-‐15 24 $2,000
USA California Los Altos NISSAN SUV X-‐TRAIL 2012-‐08-‐16 100 $1,000
USA New York ManhaTan NISSAN Sport FAIRLADY Z 2012-‐08-‐16 64 $500
Canada Alberta Airdrie MAZDA Sport Road Star 2012-‐08-‐15 4 $3,000
Measure Most Detailed Dimensions
Most D
etailed Dimen
sion
s <city
, car nam
e>
County State City Company Car Type Car Name Date Avg of Top 20
USA California San Jones TOYOTA Sedan Corolla 2012-‐08-‐15 $3,600
USA California ALL TOYOTA Sedan Alion 2012-‐08-‐15 $2,400
USA ALL ALL NISSAN SUV X-‐TRAIL 2012-‐08-‐16 $1,000
ALL ALL ALL NISSAN Sport FAIRLADY Z 2012-‐08-‐16 $640
USA California San Jones TOYOTA Sedan ALL 2012-‐08-‐15 $3,600
USA California San Jones TOYOTA ALL ALL 2012-‐08-‐15 $1,100
USA California San Jones ALL ALL ALL 2012-‐08-‐15 $2,300
… … … … … … … …
ALL ALL ALL ALL ALL ALL ALL $720
Holis-c Measure
* Date Dimension はツール側で自動的にlevelを考慮してくれる
<country, car name> <country, *>
<*, *>
<country, car type>
<*, car name>
<county, car name>
<state, car name>
<city, car name>
Loca:on Hierarchy Products Hierarchy Date Hierarchy
3. Business Intelligence
77
Big Cube
Mini Cubes Batch Process
Treasure Batch Query
Treasure Batch Query On Memory
1-‐2. Making Mini Cubes from Big Cube
Focus!
• 軸にするディメンジョンを 大2つ選択し,Mini Cubeを作成する。
• 必要名ディメンジョンの組み合わせだけ,Mini Cubeが作られる。
• 階層を持ったディメンジョンは1つのディメンジョンとして扱う。
• 例1.Time: year > month > day > hour • 例2.Item:category > sub_category >
item_name • Dashboard や BIから直接参照するこ
とを前提としているので,Mini Cubesの保存場所はデータベース(インデックスをきちんと作成しておく),メモリ上になる。
非専門家による パターンプロセス
78
Cross Tables
Mini Cubes Interac-ve
Treasure Batch Query
Treasure Batch Query
BI Tools
Excel
On Memory
1-‐3. Making Cross Table from Mini Cubes
Focus!
• さらに Mini Cube の中でクロス集計が必要なものは Excel などの統計ツールや BI の機能を使って作成する。
• Mini Cube を2つのディメンジョンに限定したのはクロス集計における2軸の設定を自動で行うため。
• クロステーブルの各セルの値には合計,数,平均などが入る。
• クロス集計をインプットとした可視化はよりわかりやすいものになりやすい。
非専門家による パターンプロセス
79
Dashboard
BI Tools
Cross Tables
Mini Cubes Interac-ve Interac-ve Visualize
Treasure Batch Query
Treasure Batch Query
Treasure Ad-‐hoc Query
Treasure Ad-‐hoc Query
BI Tools
Excel
Import
Import
Connector
On Memory
1-‐4. Repor-ng from Mini Cube or Cross Table
Focus!
• 作成したMini CubeおよびCross TableをDashboard および BIのインプットデータとする。
• レポーティング中に新しい項目の集計が必要な場合はBig CubeからMini Cubeに切り出してそれを新たなインプットとする。
非専門家による パターンプロセス
専門アナリスト
80
2. Graph Data Processing Design
81
2. Graph Data Processing Design
• データのテーブルまたは項目を,「ディメンジョン」「メジャー」で分けるのではなく,ノード・エッジ・ステータスのグラフ(Property Graph)で表現する。
• 上記の例では,ブックレビューデータの例。ユーザーが本をレビューした場合,ユーザー(ノード)が本(ノード)に対して“review”(エッジ)をした場合の Property Graph。
82
2-‐1. Property Graph (Access Log)
• アクセスログもまた Property Graph による表現が可能。ユーザーが特定できていなくても,ページ間(ノード)の遷移: “access” というアクションをエッジにしてグラフに落とし込む。
83
2-‐2. Property Graph (Book Review Dataset)
• 引き続きブックレビューデータの例。ユーザー(ノード)は本(ノード)に対して”add to list”, “review”, “buy” という3種類のアクションを起こしている。
• さらに別ユーザー(ノード)がレビューしたユーザーに対して “comment” というアクションを起こしている。
84
2-‐3. Property Graph (Social Game Dataset)
• ソーシャルゲームデータの例。ユーザー(ノード)はアイテム(ノード)に対して “pay”(エッジ) アクションを,仮想通貨(ノード)に対して “use”, “get” (エッジ)アクションを起こしている。また,アイテムは上位階層としてカテゴリ(ノード集合)を持つ。
• また,ユーザー間に対して “invite”(エッジ)アクションを,自分自身に対して “login”, “register” を行っている。
85
2-‐4. Property Graph Visualiza-on
• ブックレビューの分析事例。それぞれのアクション “review”, “comment”, “add to list”(エッジ)を分析軸としてデータ集計を行う。
• ブックレビューデータセットによるデータ解析入門(準備編) hTp://doryokujin.hatenablog.jp/entry/2012/06/28/011526
• ブックレビューデータセットによるデータ解析入門(実践編1) hTp://doryokujin.hatenablog.jp/entry/2012/06/29/174702
• ブックレビューデータセットによるデータ解析入門(実践編2) hTp://doryokujin.hatenablog.jp/entry/2012/07/03/024022
86
Sec.6 Data Visualiza-on • 1. Treasure Viewer • 2. Dashboard: Metric Insights
• 3. Business Intelligence: Tableau
87
1. Treasure Viewer
目的 – TD Management Console からグラフを素早く参照するため
– サンプルデータを素早く可視化し,全体像を把握するため
要求 – 集計結果を表・グラフですぐ表示できること
– TD Management Console 内で機能すること
– JS ライブラリによるインタラクティブかつ綺麗なチャートである事
このために作られたのが
Treasure Viewer
88
1. Treasure Viewer • データ可視化ツールをデフォルトで提供
– TQA (Treasure Query Accelerator) を利用し、大量のデータからドラッグ & ドロップでデータの可視化が行える
– 簡易な可視化ツールの扱い。高度な機能・要件が求められる場合、パートナーのBIツールを使用してお客様の要件を満たす事も多い。
3rd Party BI Tool (Tableau) Treasure Viewer
89
1. Treasure Viewer
1. Database, Table名を選択
90
1. Treasure Viewer
3. X-軸,Y-軸となるカラムを選択,ドラッグ&ドロップ
2. グラフを選択 レコードサンプルを表示
91
1. Treasure Viewer
自動的にクエリが生成される
グラフを表示
92
Dashboard(MI) と BI (Tableau) の違い
Dashboard ( Metric Insights ) BI ( Tableau )
目的
• 毎日更新されるデータ (KPI) を素早く参照する
ため
• 解析者に関わらず全てのユーザーが参照する
ため
• 異常値やイベントなどの効果を素早く把握する
ため
• Smart Phone や Tablet からも参照するため
• 様々の切り口・セグメントの組合せでデータを閲覧す
るため
• インタラクティブな操作でドリルダウンや軸の切り替
えを行うため
• 様々なチャートとテーブルを組合せた情報表現を行
うため
• プレゼンに耐えうるクオリティの高いレポートを作成
するため
要請
• 異常検出機能,およびアラート機能を備えてい
ること
• チャートへのアノテーション機能を備えているこ
と
• チャートの一覧性・わかりやすさを重視してい
ること
• (任意の時間インターバルでの)データ自動更
新機能を持っていること
• 素早く編集可能な互いに独立したパネル(ウィ
ジェット)を持っていること
• 様々なデータベース・ファイル形式と接続でき
るコネクタを備えていること
• インタラクティブな操作が可能なこと
• 豊富なチャートライブラリ,ダッシュボードエディタの
実装していること
• 適化された中間データ構造(Data Cubeなど)を備
えていること
• マウス操作によってデータの深堀りや切り口の切り
替えが可能なこと
• JDBC / ODBC コネクタを初めとした様々なデータソー
スとの接続口を持つこと
93
2. Dashboard
94
2. Dashboard
目的 – 毎日更新されるデータ (KPI) を素早く参照するため – 解析者に関わらず全てのユーザーが参照するため – 異常値やイベントなどの効果を素早く把握するため – Smart Phone や Tablet からも参照するため
要求 – 異常検出機能,およびアラート機能を備えていること
– チャートへのアノテーション機能を備えていること
– チャートの一覧性・わかりやすさを重視していること
– (任意の時間インターバルでの)データ自動更新機能を持っていること
– 素早く編集可能な互いに独立したパネル(ウィジェット)を持っていること
– 様々なデータベース・ファイル形式と接続できるコネクタを備えていること
Metric Insights はこれらの
役割を高次元で担っている
95
特徴: – メールアラート・アノテーション機能 – 1つ1つのウィジェットにクエリを埋め込む独立
型 – あらゆるデータソース:{ テキスト,データベ
ース,TD Cloud Storage } からのウィジェット
を並べる事ができる – { クエリ,集計インターバル,チャートタイプ
,データソース } 指定のみで自動更新 – ピボットテーブル,バブル / ボックス / ファ
ンネル チャートにも対応 – セットアップが容易
96
Data Personaliza-on
97
2. Dashboard: Widget Seungs 1. 集計インターバルを設定
2. メジャーの種類を設定
3. カテゴリを設定
98
2. Dashboard: Widget Seungs
4. Plug-inを選択
5. 接続するデータソースを指定
6. クエリを記述
7. Sample Result を確認
99
2. Dashboard: Widget Seungs
100
Personalized Email Digest Delivered to Users
トレンドライン
コメント
重要な変化に関する アラート
View 詳細
101
Unique Product Benefits
アラートなし
日次 Sales Chart
統計的に有意な変化についてはアラートで通知
期待(予想)変動帯
102
3. Business Intelligence: Tableau
103
3. Business Intelligence
Goal – Overview first, zoom and filter, then details-‐ondemand
– 様々の切り口・セグメントの組合せでデータを閲覧するため
– インタラクティブな操作でドリルダウンや軸の切り替えを行うため
– 様々なチャートとテーブルを組合せた情報表現を行うため
– プレゼンに耐えうるクオリティの高いレポートを作成するため
Demand – インタラクティブな操作が可能なこと
– 豊富なチャートライブラリ,ダッシュボードエディタの実装していること
– 適化された中間データ構造(Data Cubeなど)を備えていること
– マウス操作によってデータの深堀りや切り口の切り替えが可能なこと
– JDBC / ODBC コネクタを初めとした様々なデータソースとの接続口を持つこと
Tableau はこれらの
役割を高次元で担っている
104
3. Business Intelligence Tableau
– 大多数の企業の導入実績(Zynga, Nokia, eBay, etc…) – TD 用コネクタなど,連携が容易 – 豊富なチャートライブラリとデータソースコネクタを持つ
105
Tableau: Seungs
106
Tableau: Seungs
107
Tableau: Seungs
108
Tableau: Seungs
109
Tableau: Seungs
110
Tableau: Seungs
111
Tableau: Seungs
112
Tableau: Seungs
113
Tableau: Seungs
114
Treasure Cloud Storage
C-level Execs
Managers
Employees
KPIs
Data-‐Driven Aler:ng Collabora:on Email Burs:ng
Tableau Dashboards
Increased and more :mely usage
4. MI as KPI Dashboard & Tableau as Repor-ng Tool
115
Metric Manager for Tableau
複数の KPI を組合せたレポーティング
• 主要 KPI を一覧,モニタリングするツールとしての Metric Insights
• MI の KPI 群を組み合わせ,数値テーブルや考察を並べた レポー
ティングツールとしての Tableau
• MI へのダッシュボード埋込フローはプロセス化して学生アルバイト
でも行えるように。
• Tableau へのレポーティングフローは専門アナリストが行う。
定時 KPI 取得クエリ
KPI考察, レポートサマリ
Treasure Cloud Storage
Treasure Cloud Storage
応用的な分析クエリ
・ エンジニア ・ マネージャー ・ アナリスト
・ 上司 ・ 意思決定者 ・ ディレクター
参照,モニター,アラート
116
Sec.7 Learning Visualiza-on Paverns • Learning Visualiza:on PaTerns Part.1 hTp://doryokujin.hatenablog.jp/entry/2012/07/17/012854
• Learning Visualiza:on PaTerns Part.2 hTp://doryokujin.hatenablog.jp/entry/2012/07/18/005737
• Learning Visualiza:on PaTerns Part.3 hTp://doryokujin.hatenablog.jp/entry/2012/07/18/084702
117
Discussion & Q and A