• 検索結果がありません。

PowerPoint プレゼンテーション

N/A
N/A
Protected

Academic year: 2021

シェア "PowerPoint プレゼンテーション"

Copied!
83
0
0

読み込み中.... (全文を見る)

全文

(1)

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 内海英一郎 2016 年 6 月 3 日

ビッグデータ 101

AWS で始めるビッグデータパイプラインの設計と実装

(2)

Twitter

でAWS Summitに参加しよう!

公式アカウント

@awscloud_jp

をフォローしたお客様に

フリクションボールペン

をプレゼント!

(3)

AWS Black Belt Online Seminarのご案内

AWSJ の Tech メンバーがAWSに関する様々な事を日本語で

紹介・解説する無料のオンラインセミナー

AWSについてもっと勉強したい方にオススメ!

(4)

うちうみえいいちろう

内海英一郎|@eiichirouchiumi

アマゾンウェブサービス

ジャパン株式会社

ソリューションアーキテクト

Amazon Kinesis

Java

LMAX Disruptor

(5)

多くのお客様が AWS 上で

ビッグデータを利活用

T e l e c o m m u n i c a t i o n s H e a l t h c a r e H e a l t h c a r e F i n a n c i a l C l a i m s A d v e r t i s i n g N o n - P r o f i t G e n o m i c s E d u c a t i o n L A B O R A T O R Y O i l & G a s G e n o m i c s M e d i a & E n t e r t a i n m e n t M e d i a & E n t e r t a i n m e n t R i s k S i m u l a t i o n R i s k A n a l y s i s M e d i a & E n t e r t a i n m e n t F o o d

(6)

AdRoll – 50 ミリ秒以下のレスポンスで

1 日 600 億のインプレッションを処理

us-west-2 ELB ELB Bidders Ad Servers us-east-1 Bidders Ad Servers eu-west-1 ap-southeast-1 ap-northeast-1 Kinesis S3 60B Events/Day 600k Files/Day SQS SQS SQS SQS Machine Learning Analytics Dynamic Creatives Profiles DynamoDB us-west-2 DynamoDB us-east-1 DynamoDB eu-west-1 DynamoDB ap-southeast-1 DynamoDB ap-northeast-1 ELB ELB Bidders Ad Servers ELB ELB Bidders Ad Servers ELB ELB Bidders Ad Servers ELB ELB

AWS Summit 2015 | San Francisco – Keynote with Andy Jassy

(7)

FINRA – 5 ペタバイト超のストレージで

1 日最大 750 億イベントを処理・分析

EMR is

Ubiquitous

in our architecture

Data Marts (Amazon Redshift) Query Cluster (EMR) Query Cluster (EMR) Auto Scaled EC2 Analytics App Normalization ETL Clusters (EMR) Batch Analytic Clusters (EMR) Adhoc Query Cluster (EMR) Auto Scaled EC2 Analytics App Users Data Providers Auto Scaled EC2 Data Ingestion Services Optimization ETL Clusters (EMR) Shared Metastore (RDS) Query Optimized (S3)

Auto Scaled EC2 Data Catalog & Lineage Services Reference Data (RDS)

Shared Data Services

Auto Scaled EC2 Cluster Mgt & Workflow Services Source of Truth (S3)

© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Rahul Pathak, AWS Scott Donaldson, FINRA

Clayton Kovar, FINRA

October 2015

Amazon EMR Deep Dive & Best Practices

BDT305

http://www.slideshare.net/AmazonWe bServices/bdt305-amazon-emr-deep-dive-and-best-practices

(8)

Hearst – 250 以上のウェブサイトから

1 日 100 GB のクリックストリームを収集

Buzzing API API Ready Data Amazon Kinesis Streams Node.JS App-Proxy Clickstream Data Science Application Amazon Redshift ETL on EMR Users to Hearst Properties

Final Hearst Data Pipeline

LATENCY THROUGHPUT

Milliseconds 30 Seconds 100 Seconds 5 Seconds

100 GB/Day 5 GB/Day 1 GB/Day 1 GB/Day

Agg Data Models

Firehose

S3

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Rick McFarland, Chief Data Scientist, Hearst Corporation Adi Krishnan, Principal Product Manager, AWS

April 2016

Getting Started with Amazon Kinesis

http://www.slideshare.net/AmazonWe

(9)

そのテクノロジーや開発方法論は

日々複雑化・高度化している

Collect Store Analyze Consume

A iOS Android Web Apps Logstash Amazon RDS Amazon DynamoDB Amazon ES Amazon S3 Apache Kafka Amazon Glacier Amazon Kinesis Amazon DynamoDB Amazon Redshift Impala Pig Amazon ML Streaming Amazon Kinesis AWS Lambda A m az o n E las ti c M ap R ed uce Amazon ElastiCache S e ar ch S Q L N o S Q L C ache S tr eam P ro ces si ng B at ch In ter act iv e L o gg ing S tr eam S to rag e IoT A p pl icat io ns F ile S to rag e An alys is & V is ual iz at io n Hot Cold Warm Hot Slow Hot ML Fast Fast Amazon QuickSight Transactional Data File Data Stream Data N o teb o o ks Predictions

Apps & APIs

Mobile Apps ID E Search Data ETL Reference Architecture

© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Siva Raghupathy, Principal Solutions Architect, Amazon Web Services

October 2015

BDT310

Big Data Architectural Patterns and Best Practices

on AWS

http://www.slideshare.net/AmazonWe

bServices/bdt310-big-data- architectural-patterns-and-best-practices-on-aws

(10)

本セッションの

テーマ

アーキテクチャ全体のモデリング

AWS サービスを選択する際の着眼点

典型的なユースケースの実装方法

(11)
(12)

最も抽象的な

概念から始める

データの断片

価値を持った情報

データの断片を価値を持った情報に変えること

問題領域

(13)

データを収集する

ステージ

収集

データソースへの

(14)

情報を提供する

ステージ

提供

情報利用者への

(15)

データを保存する

ステージ

保存

繰り返し利用される

データを蓄積・保持

(16)

収集したデータを処理する

ステージ

前処理

収集したデータを

保存用に変換・登録

(17)

保存したデータを処理する

ステージ

後処理

保存したデータを

提供用に変換・展開

(18)

ストリームデータの

収集

収集|ストリーム

ペイロードサイズが小さい

データの発生頻度が高い

(19)

ファイルデータの

収集

収集|ファイル

ペイロードサイズが大きい

データの発生頻度が低い

(20)

収集したデータの

リアルタイム処理

前処理|リアルタイム

データを収集した時点で

処理

レイテンシー重視

(21)

収集したデータの

バッチ処理

前処理|バッチ

収集したデータを

まとめて処理

スループット重視

(22)

関連データベースへの

保存

保存|関連データベース

ハードスキーマ

アクセスパターンの

制約なし

(23)

NoSQL データベースへの

保存

保存|NoSQL データベース

ソフトスキーマ

アクセスパターンの

制約なし

(24)

サーチエンジンへの

保存

保存|サーチエンジン

ソフトスキーマ

(25)

データウェアハウスへの

保存

保存|データウェアハウス

ハードスキーマ

大容量データの複雑な

問い合わせに最適化

(26)

ストリームストレージへの

保存

保存|ストリームストレージ

スキーマフリー

データの到着順に一定期間の

ウィンドウを保持

(27)

データレイクへの

保存

保存|データレイク

スキーマフリー

後から自由に処理

(28)

保存したデータの

機械学習処理

後処理|機械学習

保存したデータへの

アルゴリズム適用

予測が主用途

(29)

保存したデータの

問い合わせ処理

後処理|問い合わせ

保存したデータの

抽出・比較や並び替え

分析が主用途

(30)

可視化による

情報の提供

提供|可視化

人間向けの

インターフェース

スプレッドシートやグラフ

(31)

API による

情報の提供

提供|API

コンピューター向けの

インターフェース

HTTP 経由の JSON や XML

(32)
(33)

サービスの選択における

指針

機能的特性と性能的特性の両面から最適なサービスを見極めましょう

Right Tools for the Job

Managed Services First

(34)

ストリームデータの収集に

利用できるサービス

収集|ストリーム

ペイロードサイズが小さい

データの発生頻度が高い

Amazon Kinesis

Streams

Amazon Kinesis

Firehose

(35)

ファイルデータの収集に

利用できるサービス

収集|ファイル

ペイロードサイズが大きい

データの発生頻度が低い

Amazon S3

AWS Import/Export

Snowball

(36)

収集したデータのリアルタイム処理に

利用できるサービス

AWS Lambda

Amazon EMR

前処理|リアルタイム

データを収集した時点で

処理

レイテンシー重視

(37)

収集したデータのリアルタイム処理に

利用できるサービス

Amazon Kinesis

Firehose

前処理|リアルタイム

データを収集した時点で

処理

レイテンシー重視

(38)

収集したデータのバッチ処理に

利用できるサービス

Amazon EMR

AWS Data Pipeline

前処理|バッチ

収集したデータを

まとめて処理

スループット重視

(39)

関連データベースとして

利用できるサービス

Amazon RDS

保存|関連データベース

ハードスキーマ

アクセスパターンの制限なし

(40)

NoSQL データベースとして

利用できるサービス

Amazon

DynamoDB

Amazon

Elasticsearch Service

保存|NoSQL データベース

ソフトスキーマ

アクセスパターンの制限なし

(41)

サーチエンジンとして

利用できるサービス

Amazon

CloudSearch

Amazon

Elasticsearch Service

保存|サーチエンジン

ソフトスキーマ

全文検索やスコアリング

(42)

データウェアハウスとして

利用できるサービス

Amazon Redshift

保存|データウェアハウス

ハードスキーマ

大容量データの複雑な

問い合わせに最適化

(43)

ストリームストレージとして

利用できるサービス

Amazon Kinesis

Streams

保存|ストリームストレージ

スキーマフリー

データの到着順に一定期間の

ウィンドウを保持

(44)

データレイクとして

利用できるサービス

Amazon S3

保存|データレイク

スキーマフリー

後から自由に処理

(45)

保存したデータの機械学習処理に

利用できるサービス

Amazon

Machine Learning

Amazon EMR

後処理|機械学習

保存したデータへの

アルゴリズム適用

予測が主用途

(46)

保存したデータの問い合わせ処理に

利用できるサービス

Amazon EMR

後処理|問い合わせ

保存したデータの

抽出・比較や並び替え

分析が主用途

Amazon

QuickSight

(47)

保存したデータの問い合わせ処理に

利用できるサービス

Amazon RDS

後処理|問い合わせ

保存したデータの

抽出・比較や並び替え

分析が主用途

Amazon

DynamoDB

(48)

保存したデータの問い合わせ処理に

利用できるサービス

Amazon

Elasticsearch Service

後処理|問い合わせ

保存したデータの

抽出・比較や並び替え

分析が主用途

Amazon

CloudSearch

(49)

保存したデータの問い合わせ処理に

利用できるサービス

Amazon Redshift

後処理|問い合わせ

保存したデータの

抽出・比較や並び替え

分析が主用途

(50)

可視化による情報の提供に

利用できるサービス

Amazon EMR

Amazon

Elasticsearch Service

提供|可視化

人間向けの

インターフェース

スプレッドシートやグラフ

(51)

可視化による情報の提供に

利用できるサービス

Amazon

QuickSight

提供|可視化

人間向けの

インターフェース

スプレッドシートやグラフ

(52)

API による情報の提供に

利用できるサービス

Amazon

API Gateway

提供|API

コンピューター向けの

インターフェース

HTTP 経由の JSON や XML

AWS Lambda

(53)
(54)

ユースケース 1

リアルタイムモニタリング

数千のセンサーが毎秒アップロードするデータをリアルタイムにダッシュボード

上でモニタリングしたい。ただし、モニタリングの対象とするデータは特異値を

含むものに限定する。データは JSON 形式で、特異値の判定ロジックは □□ だ。

まずは、特異値を含むデータの発生件数がどのように推移しているのかだけでも

時系列で把握できると助かるのだが。。。

(55)

ユースケース 1

リアルタイムモニタリング

数千のセンサーが毎秒アップロードする JSON データ

リアルタイム

特異値の検出

ダッシュボードで件数を時系列にモニタリング

(56)

リアルタイムモニタリングの

モデリング例

後処理|問い合わせ

提供|可視化

収集|ストリーム

前処理|リアルタイム

保存|NoSQL データベース

(57)

リアルタイムモニタリングの

サービス選択例

後処理| 問い合わせ 提供| 可視化 収集| ストリーム 前処理| リアルタイム 保存|NoSQL データベース Kinesis Streams Lambda + Kinesis Firehose Elasticsearch Service Elasticsearch Service Elasticsearch Service

(58)

リアルタイムモニタリングの

実装例

収集| ストリーム Kinesis Streams センサーは SDK で Kinesis Streams に直接データを送信

(59)

リアルタイムモニタリングの

実装例

前処理|

リアルタイム Lambda + Kinesis Firehose

Kinesis Firehose に特異値を 含んだレコードを再送信

Kinesis Firehose が Elasticsearch にデータをロード

Kinesis Streams に Lambda ファンクションを関連付け Lambda ファンクション内で 特異値を検出

(60)

リアルタイムモニタリングの

実装例

保存|NoSQL データベース Elasticsearch Service Elasticsearch で時系列にデータを インデックス化

(61)

リアルタイムモニタリングの

実装例

後処理| 問い合わせ Elasticsearch Service Elasticsearch で 問い合わせを処理し結果を返却

(62)

リアルタイムモニタリングの

実装例

提供| 可視化 Elasticsearch Service Kibana で時系列に折れ線グラフを 表示しデータを一定間隔で更新

(63)

ユースケース 2

ログアナリティクス

データサイエンティストがアプリケーションのアクセスログを分析してみたいと

言っている。ログファイルは日付が変わった後に前日分が送られてくるのだが、

すぐに数百 TB 程度のストレージを消費するだろう。とりあえず、ワークベンチ

からアドホックなクエリーを実行してログに含まれる範囲の情報を確認できれば

いいらしい。急いで環境を用意してもらえないか?

(64)

ユースケース 2

ログアナリティクス

日次でファイルを受信

数百 TB のストレージ

分析範囲はログに含まれる情報のみ

ワークベンチからアドホックにクエリーを実行

(65)

ログアナリティクスの

モデリング例

後処理|問い合わせ

提供|可視化

収集|ファイル

前処理|バッチ

保存|データレイク

(66)

ログアナリティクスの

サービス選択例

後処理| 問い合わせ 提供| 可視化 収集| ファイル 前処理| バッチ 保存| データレイク S3 Data Pipeline + EMR S3 EMR EMR

(67)

ログアナリティクスの

実装例

収集| ファイル S3 アプリケーションは定期的に CLI で S3 にログファイルを送信

(68)

ログアナリティクスの

実装例

前処理|

バッチ Data Pipeline + EMR

ロードしたログを ORC 形式で S3 上の Hive テーブルに再コピー Data Pipeline から HiveActivity を起動 ログファイルをテキスト形式で Hive テーブルへロード

(69)

ログアナリティクスの

実装例

保存| データレイク S3 ORC 形式で S3 上の Hive テーブルにログを保持

(70)

ログアナリティクスの

実装例

EMR HiveQL で S3 上の Hive テーブルを問い合わせ 後処理| 問い合わせ

(71)

ログアナリティクスの

実装例

提供| 可視化 EMR Hue でスプレッドシート上に HiveQL 問い合わせの結果を表示

(72)

ユースケース 3

ラムダアーキテクチャ

ウェブサーバー上のアクセスログからサイト訪問者のセグメントを特定したい。

アクセスログは対象となるウェブサーバーから常時収集する。セグメントを更新

するタイミングはリアルタイムと日次の 2 種類だ。リアルタイムでの更新時には

ロジック □□ で高速に低精度の予測を行い、日次での更新時にはロジック □□

で 1 日分のログ全体から時間をかけて高精度の予測を行う。予測したセグメント

情報はユーザー単位に保存しておき、自社内にある様々なアプリケーションから

いつでも利用できるようにしたい。よろしく頼んだよ。

(73)

ユースケース 3

ラムダアーキテクチャ

ウェブサーバーのアクセスログを常時収集

リアルタイム更新と日次のバッチ更新

ユーザー単位にセグメント情報を保存

様々なアプリケーションからいつでも利用

(74)

ラムダアーキテクチャの

モデリング例

後処理|問い合わせ

提供|API

収集|ストリーム

保存|NoSQL データベース

前処理|リアルタイム +

バッチ

(75)

ラムダアーキテクチャの

サービス選択例

後処理| 問い合わせ 提供| API 収集| ストリーム 前処理|リアル タイム + バッチ 保存|NoSQL データベース Kinesis Streams Lambda + Data Pipeline + EMR DynamoDB DynamoDB API Gateway + Lambda

(76)

ラムダアーキテクチャの

実装例

収集| ストリーム Kinesis Streams Kinesis エージェントから Kinesis Streams にログレコードを送信

(77)

ラムダアーキテクチャの

実装例

Lambda 前処理| リアルタイム DynamoDB のセグメント情報を アップデート

Kinesis Streams に Lambda ファンクションを関連付け Lambda ファンクション内で セグメントを判定

(78)

ラムダアーキテクチャの

実装例

Data Pipeline + EMR 前処理| バッチ

HiveQL で Kinesis Streams を 問い合わせてセグメントを判定 HiveQL で DynamoDB に セグメント情報をインポート

Kinesis Streams と DynamoDB に Hive テーブルをマッピング

Data Pipeline から HiveActivity を起動

(79)

ラムダアーキテクチャの

実装例

保存|NoSQL データベース DynamoDB ユーザーの識別子をハッシュキーに してセグメント情報を保持

(80)

ラムダアーキテクチャの

実装例

後処理| 問い合わせ DynamoDB DynamoDB で 問い合わせを処理し結果を返却

(81)

ラムダアーキテクチャの

実装例

提供|

API API Gateway + Lambda

DynamoDB の問い合わせ結果を JSON 文字列へ変換して返却 API Gateway でセグメント情報 提供用の REST API を定義・公開 Lambda ファンクションで HTTP 要求を DynamoDB 呼び出しに変換

(82)

本セッションの

ふりかえり

アーキテクチャ全体のモデリング

AWS サービスを選択する際の着眼点

典型的なユースケースの実装方法

(83)

Thank You!

参照

関連したドキュメント

クチャになった.各NFは複数のNF  ServiceのAPI を提供しNFの処理を行う.UDM(Unified  Data  Management) *11 を例にとれば,UDMがNF  Service

運搬 中間 処理 許可の確認 許可証 収集運搬業の許可を持っているか

水処理設備部 水処理設備第二

あれば、その逸脱に対しては N400 が惹起され、 ELAN や P600 は惹起しないと 考えられる。もし、シカの認可処理に統語的処理と意味的処理の両方が関わっ

(ECシステム提供会社等) 同上 有り PSPが、加盟店のカード情報を 含む決済情報を処理し、アクワ

 実施にあたっては、損傷したHIC排気フィルタと類似する環境 ( ミスト+エアブロー ) ※1 にある 排気フィルタ

前処理フィルタ2B 漏えい個所 漏えいあり 腐⾷あり スラッジ塊あり 異常なし. 

  他人か ら産業廃棄物 の処理 (収集運搬、処 分)の 委託を 受けて 、その