福田 潔
Google Cloud Platform カスタマーエンジニア
Google Cloud 部門
No-Ops で大量データ処理を
簡単に実現する
BigQuery と Cloud Dataflow で実現する次世代データ処理基盤
Data + No-Ops
Data makes software great.
Apps (and companies) win or lose based on how they use it.
Better software, faster.
Confidential & Proprietary
分析
クラスタを作成クラスタを管理
クラスタを
アップグレード
インデックスを
定義
ソフトウェアを
セットアップ
VPCを
セットアップ
スケールを管理
典型的なデータウェアハウス
インフ...
Google confidential │ Do not distribute
Google in 1 minute
1000 new
devices
3M Searches 100 Hours
1B Activated
Devices
100...
Confidential + Proprietary
MapReduce 後のイノベーションの歩み
MapReduce
BigTable DremelColossus
FlumeMegastore
SpannerPubSub
Millwheel
2016
Google Cloud Platform 8
Google
Research
20082002 2004 2006 2010 2012 2014 2015
Open
Source
2005
Google
Cloud
Products...
2016
Google Cloud Platform 9
Google
Research
20082002 2004 2006 2010 2012 2014 2015
Open
Source
2005
Google
Cloud
Products...
保存 分析処理収集
ビッグデータのライフサイクル
Confidential & ProprietaryGoogle Cloud Platform 11
分析保存収集
BigQuery
(SQL)
処理
Cloud Dataflow
(stream and batch)
Cloud
Storag...
Confidential + Proprietary
リファレンスアーキテクチャ : データを収集する
Cloud Pub/Sub
信頼性の高い、多対多の非同期メッセージング
Cloud Storage
シンプルでコスト効果の高いオブジェクトス...
Confidential + Proprietary
リファレンスアーキテクチャ: 処理および変換
Cloud Dataflow
バッチ/ストリーム両方に対応した
データ処理エンジン
Stream
Batch
生ログ、ファイル、外
部システムか...
Confidential + Proprietary
リファレンスアーキテクチャ : 処理および変換
Stream
Batch
Cloud Dataproc
Spark / Hadoop のマネージド・サービス
Batch
Cloud Data...
Confidential + Proprietary
リファレンスアーキテクチャ: 分析および保存
Stream
Batch
BigQuery
大規模データセットに対する
高性能クエリーエンジン
Bigtable
大規模データに対する高
性能N...
Confidential + Proprietary
リファレンスアーキテクチャ: 学習およびレコメンド
Stream
Batch
Batch
Cloud Machine Learning
機会学習のスケーラブルな
マネージドプラットフォーム
...
Confidential + Proprietary
リファレンスアーキテクチャ: 学習およびレコメンド
Stream
Batch
Batch
外部
アプリケー
ション
Cloud Datalab
可視化および
BI
データ共有
B C
A
生...
Confidential + Proprietary
Events, metrics,
etc.
Stream
Batch
Batch
Raw logs, files,
assets, Google
Analytics data etc.
Ap...
Confidential + Proprietary
Cloud
Dataflow
Batch/Streaming
Processing
BigQuery
Large Scale
Analytics
BigQuery
Your Enterprise Data Warehouse in the cloud
21
BigQuery とは?
耐久性があり高可用性を備える
SQLの利便性
ペタバイト規模で高速
フルマネージドの No-Ops データウェアハウス
Confidential + Proprietary
BigQuery の内部構造
SQL クエリ
ペタビット
ネットワーク
BigQuery
ストレージ コンピュート
ストリーミングイン
ジェスト
高速バッチロード
Demo?
25Data & Analytics
5 年間にわたる継続的な改善
2010 2011 2012 2013 2014
公開
大規模なクエリ結果
2015 2016
900
300
0
1,200
Code Submits
Google I/O ...
Unstructured data accounts for
90% of enterprise data*
*Source: IDC
Dataflow
New default of stream processing
Google Confidential
バッチ処理の問題点:データは継続的に生成される
(=Unbounded Data)。なぜ処理するために待たなければなら
ないのか?
Dataflow(Apache Beam) は
ストリーム処理の新しいデ...
20122002 2004 2006 2008 2010
MapReduce
GFS Big Table
Dremel
Pregel
FlumeJava
Colossus
Spanner
2014
MillWheel
Dataflow
2016...
Dataflow モデル および Cloud Dataflow
Dataflow Model & SDKs
バッチおよびストリーム処理の
統合プログラムモデル
no-ops, フルマネージサービス
Google Cloud Dataflow
A...
Confidential + Proprietary
入力した文字列 サジェストするリスト
#ar #argentina, #arugularocks, #argylesocks
#arg #argentina, #argylesocks, #...
Confidential + Proprietary
{a->[apple, art, argentina], ar->[art, argentina, armenia],...}
Count
ExpandPrefixes
Top(3)
Wri...
Confidential + Proprietary
Count
ExpandPrefixes
Top(3)
Write
Read
ExtractTags
Tweets
Predictions
Pipeline p = Pipeline.cre...
34
Spotify - Big Wins with Google’s Data Product
youtu.be/LTVFg6YOjW
o
Gateway
Data Center
Client
Hadoop
Client
Client
Client
Cloud Pub/Sub
Event
Delivery
Service
File Tailer
Syslog
Cloud Stora...
どこから始めるか?
Confidential + Proprietary
シンプルに始める
Confidential + Proprietary
シンプルに始める
Batch
生ログ、ファイル、外
部システムからのア
ウトプット 等
Cloud Datalab
可視化および
BI
Confidential + Proprietary
シンプルに始める : ETL処理を追加
Batch
生ログ、ファイル、外
部システムからのア
ウトプット 等
Cloud Datalab
可視化および
BI
Confidential + Proprietary
シンプルに始める:ストリームに対応
Stream
Batch
生ログ、ファイル、外
部システムからのア
ウトプット 等
イベント、
メトリック等
Cloud Datalab
可視化および
BI
結果は?
Confidential + Proprietary
cloud.google.com
Confidential + Proprietary
参考
● Google Cloud Platform ドキュメント
○ https://cloud.google.com/
● BigQuery
○ https://cloud.google...
4545
Thank You!
fukudak@google.com
No-Ops で大量データ処理を簡単に実現する - BigQuery と Cloud Dataflow で実現する次世代データ処理基盤
No-Ops で大量データ処理を簡単に実現する - BigQuery と Cloud Dataflow で実現する次世代データ処理基盤
Upcoming SlideShare
Loading in …5
×

No-Ops で大量データ処理を簡単に実現する - BigQuery と Cloud Dataflow で実現する次世代データ処理基盤

316 views

Published on

2017-01-17 Serverless Meetup Tokyo #2 の資料です。

Published in: Data & Analytics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
316
On SlideShare
0
From Embeds
0
Number of Embeds
86
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

No-Ops で大量データ処理を簡単に実現する - BigQuery と Cloud Dataflow で実現する次世代データ処理基盤

  1. 1. 福田 潔 Google Cloud Platform カスタマーエンジニア Google Cloud 部門 No-Ops で大量データ処理を 簡単に実現する BigQuery と Cloud Dataflow で実現する次世代データ処理基盤
  2. 2. Data + No-Ops
  3. 3. Data makes software great. Apps (and companies) win or lose based on how they use it.
  4. 4. Better software, faster.
  5. 5. Confidential & Proprietary 分析 クラスタを作成クラスタを管理 クラスタを アップグレード インデックスを 定義 ソフトウェアを セットアップ VPCを セットアップ スケールを管理 典型的なデータウェアハウス インフラではなく、データから 知見を導くところにフォーカス する 分析 クラウド時代の Big Data アーキテクチャ 分析に費やす時間を増やす
  6. 6. Google confidential │ Do not distribute Google in 1 minute 1000 new devices 3M Searches 100 Hours 1B Activated Devices 100M GB Search Content
  7. 7. Confidential + Proprietary MapReduce 後のイノベーションの歩み MapReduce BigTable DremelColossus FlumeMegastore SpannerPubSub Millwheel
  8. 8. 2016 Google Cloud Platform 8 Google Research 20082002 2004 2006 2010 2012 2014 2015 Open Source 2005 Google Cloud Products GFS Map Reduce 15年以上、データの問題に向き合ってきた
  9. 9. 2016 Google Cloud Platform 9 Google Research 20082002 2004 2006 2010 2012 2014 2015 Open Source 2005 Google Cloud Products BigQuery Pub/Sub Dataflow Bigtable ML GFS Map Reduce BigTable Dremel Flume Java Millwheel Tensorflow Apache Beam PubSub 15年以上、データの問題に向き合ってきた
  10. 10. 保存 分析処理収集 ビッグデータのライフサイクル
  11. 11. Confidential & ProprietaryGoogle Cloud Platform 11 分析保存収集 BigQuery (SQL) 処理 Cloud Dataflow (stream and batch) Cloud Storage (objects) Cloud Datastor (NoSQL) BigQuery Storage (structured) Cloud Dataproc (Hadoop & Ecosystem) Cloud Bigtable (NoSQL HBase) Cassandra hBase MongoDBRabbit MQ Kafka Cloud 2.0 Cloud 3.0 可視化 Cloud DataLab (iPython/Jupyter) Tableau Pub/Sub Stackdriver Logging BQ Streaming App Engine Cloud SQL (SQL) Cloud Machine Learning プロダクトをマップすると
  12. 12. Confidential + Proprietary リファレンスアーキテクチャ : データを収集する Cloud Pub/Sub 信頼性の高い、多対多の非同期メッセージング Cloud Storage シンプルでコスト効果の高いオブジェクトストレージ 生ログ、ファイル、外 部システムからのア ウトプット 等 イベント、 メトリック等
  13. 13. Confidential + Proprietary リファレンスアーキテクチャ: 処理および変換 Cloud Dataflow バッチ/ストリーム両方に対応した データ処理エンジン Stream Batch 生ログ、ファイル、外 部システムからのア ウトプット 等 イベント、 メトリック等
  14. 14. Confidential + Proprietary リファレンスアーキテクチャ : 処理および変換 Stream Batch Cloud Dataproc Spark / Hadoop のマネージド・サービス Batch Cloud Dataflow バッチ/ストリーム両方に対応した データ処理エンジン 生ログ、ファイル、外 部システムからのア ウトプット 等 イベント、 メトリック等
  15. 15. Confidential + Proprietary リファレンスアーキテクチャ: 分析および保存 Stream Batch BigQuery 大規模データセットに対する 高性能クエリーエンジン Bigtable 大規模データに対する高 性能NoSQLデータサービ ス Batch 生ログ、ファイル、外 部システムからのア ウトプット 等 イベント、 メトリック等
  16. 16. Confidential + Proprietary リファレンスアーキテクチャ: 学習およびレコメンド Stream Batch Batch Cloud Machine Learning 機会学習のスケーラブルな マネージドプラットフォーム 生ログ、ファイル、外 部システムからのア ウトプット 等 イベント、 メトリック等
  17. 17. Confidential + Proprietary リファレンスアーキテクチャ: 学習およびレコメンド Stream Batch Batch 外部 アプリケー ション Cloud Datalab 可視化および BI データ共有 B C A 生ログ、ファイル、外 部システムからのア ウトプット 等 イベント、 メトリック等
  18. 18. Confidential + Proprietary Events, metrics, etc. Stream Batch Batch Raw logs, files, assets, Google Analytics data etc. Applications and Reports Cloud Datalab Visualization and BI Co-workers B C A a serverless big data stack that scales automatically
  19. 19. Confidential + Proprietary Cloud Dataflow Batch/Streaming Processing BigQuery Large Scale Analytics
  20. 20. BigQuery Your Enterprise Data Warehouse in the cloud
  21. 21. 21 BigQuery とは? 耐久性があり高可用性を備える SQLの利便性 ペタバイト規模で高速 フルマネージドの No-Ops データウェアハウス
  22. 22. Confidential + Proprietary BigQuery の内部構造 SQL クエリ ペタビット ネットワーク BigQuery ストレージ コンピュート ストリーミングイン ジェスト 高速バッチロード
  23. 23. Demo?
  24. 24. 25Data & Analytics 5 年間にわたる継続的な改善 2010 2011 2012 2013 2014 公開 大規模なクエリ結果 2015 2016 900 300 0 1,200 Code Submits Google I/O でベータリリース Dremel X Big JOIN サポート ダイナミック エグゼキューション Capacitor シャッフル高速化 100k qps のストリーミン グ ユーザー定義関数 100k qps の ストリーミング
  25. 25. Unstructured data accounts for 90% of enterprise data* *Source: IDC
  26. 26. Dataflow New default of stream processing
  27. 27. Google Confidential バッチ処理の問題点:データは継続的に生成される (=Unbounded Data)。なぜ処理するために待たなければなら ないのか? Dataflow(Apache Beam) は ストリーム処理の新しいデフォルト バッチ処理はストリーム処理のサブセットと捉える Cloud Dataflow とは?
  28. 28. 20122002 2004 2006 2008 2010 MapReduce GFS Big Table Dremel Pregel FlumeJava Colossus Spanner 2014 MillWheel Dataflow 2016 Dataflow は新しいデフォルト
  29. 29. Dataflow モデル および Cloud Dataflow Dataflow Model & SDKs バッチおよびストリーム処理の 統合プログラムモデル no-ops, フルマネージサービス Google Cloud Dataflow Apache Beam
  30. 30. Confidential + Proprietary 入力した文字列 サジェストするリスト #ar #argentina, #arugularocks, #argylesocks #arg #argentina, #argylesocks, #argonauts #arge #argentina, #argentum, #argentine ハッシュタグのオートコンプリート事例
  31. 31. Confidential + Proprietary {a->[apple, art, argentina], ar->[art, argentina, armenia],...} Count ExpandPrefixes Top(3) Write Read ExtractTags {a->(argentina, 5M), a->(armenia, 2M), …, ar->(argentina, 5M), ar->(armenia, 2M), ...} {#argentina scores!, watching #armenia vs #argentina, my #art project, …} {argentina, armenia, argentina, art, ...} {argentina->5M, armenia->2M, art->90M, ...} Tweets Predictions
  32. 32. Confidential + Proprietary Count ExpandPrefixes Top(3) Write Read ExtractTags Tweets Predictions Pipeline p = Pipeline.create(new PipelineOptions()); p p.run(); .apply(ParDo.of(new ExtractTags())) .apply(Top.largestPerKey(3)) .apply(Count.perElement()) .apply(ParDo.of(new ExpandPrefixes()) .apply(TextIO.Write.to(“gs://…”)); .apply(TextIO.Read.from(“gs://…”)) class ExpandPrefixes … { public void processElement(ProcessContext c) { String word = c.element().getKey(); for (int i = 1; i <= word.length(); i++) { String prefix = word.substring(0, i); c.output(KV.of(prefix, c.element())); } } }
  33. 33. 34 Spotify - Big Wins with Google’s Data Product youtu.be/LTVFg6YOjW o
  34. 34. Gateway Data Center Client Hadoop Client Client Client Cloud Pub/Sub Event Delivery Service File Tailer Syslog Cloud Storage Dataflow ETL using Cloud Dataflow BigQuery
  35. 35. どこから始めるか?
  36. 36. Confidential + Proprietary シンプルに始める
  37. 37. Confidential + Proprietary シンプルに始める Batch 生ログ、ファイル、外 部システムからのア ウトプット 等 Cloud Datalab 可視化および BI
  38. 38. Confidential + Proprietary シンプルに始める : ETL処理を追加 Batch 生ログ、ファイル、外 部システムからのア ウトプット 等 Cloud Datalab 可視化および BI
  39. 39. Confidential + Proprietary シンプルに始める:ストリームに対応 Stream Batch 生ログ、ファイル、外 部システムからのア ウトプット 等 イベント、 メトリック等 Cloud Datalab 可視化および BI
  40. 40. 結果は?
  41. 41. Confidential + Proprietary cloud.google.com
  42. 42. Confidential + Proprietary 参考 ● Google Cloud Platform ドキュメント ○ https://cloud.google.com/ ● BigQuery ○ https://cloud.google.com/bigquery/ ● Dataflow ○ https://cloud.google.com/dataflow/ ● Google Big Data Blog ○ https://cloud.google.com/blog/big-data/ ● Architecture: Optimized Large-Scale Analytics Ingestion ○ https://cloud.google.com/solutions/architecture/optimized-large-scale-a nalytics-ingestion
  43. 43. 4545 Thank You! fukudak@google.com

×