Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
NetflixにおけるPresto/Spark活用事例
2016/02/08
Ryosuke Iwanaga
Solutions Architect, Amazon Web Services Japan
2
Amazon EMR - 1クリックでHadoop/Spark
• 分散処理基盤
– クラスタを簡単に構築
して破棄
• 分散処理アプリ
– 使いたいアプリを選ぶ
だけ
• Hadoop 2.7.1
• Hive 1.0.0
• Pig 0...
3
Amazon EMR - 1クリックでHadoop/Spark
• 分散処理基盤
– クラスタを簡単に構築
して破棄
• 分散処理アプリ
– 使いたいアプリを選ぶ
だけ
• Hadoop 2.7.1
• Hive 1.0.0
• Pig 0...
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Eva Tse and Daniel Weeks, Netflix
October 2015
B...
Netflixで鍵となるビジネス上のメトリクス
6500万人以上
の会員
50の国
1000以上の
デバイス
をサポート
100億
時間 / 四半期
我々のBig Dataの規模感
トータル ~25PB のデータウェアがAmazon S3に
読み出し ~10% (データ/日)
書き込み ~10% (読み出しデータ/日)
~ 5500億イベント/日
~ 350のアクティブなプラットフォームユーザ
Amazon S3をデータウェアストレージとして使う
Amazon S3を唯一の正しいデータソースに(HDFSではなく)
イレブン9の耐久性と99.99%の可用性が設計されている
コンピュートとストレージを分離
鍵となる追加機能
- 複数の多様...
分析
ETL
対話的なデータ探索
対話的なデータスライス
リアルタイム分析、機械学習、他にも
異なるBig Dataの処理要件
なぜ我々はPrestoを愛しているか?
Hadoopとの親和性 - Hive metastoreとの連携
AWS上で動かしやすい - Amazon S3と簡単に連携
スケーラブル - ペタバイトの規模で動作する
ユーザが使いやすい - ANSI...
利用状況の統計
~3500 queries/day
> 90%
我々のデプロイ
Version 0.114
+ いくつかのパッチ
+ 1つの未公開パッチ (Parquet vectorized read integration)
Amazon EMRのBootstrap Actionでデプロイ
Hadoop...
2つの本番クラスタ
リソースを隔離
Ad-hocクラスタ
1 coordinator (r3.4xl) + 225 workers (r3.4xl)
アプリケーション専用クラスタ
1 coordinator (r3.4xl) + 4 worke...
動的なクラスタサイズ変更
なぜSpark?
バッチジョブ (Pig, Hive)
• ETLジョブ
• レポートや、その他分析
対話的なジョブ (Presto)
対話的な機械学習ジョブ (Spark)
プログラムが必要なユースケース
デプロイ @ Netflix
Spark on Mesos
• 独自のAMI
• 全てBDAS (Berkeley Data Analytics Stack)
• オンラインストリーム分析
Spark on YARN
• Spark as a ...
マルチテナント
Dynamic Allocation [SPARK-6954]
複数バージョンをサポート
$ spark-shell –ver 1.5 …
s3://…/spark-1.4.tar.gz
s3://…/spark-1.5.tar.gz
s3://…/spark-1.5-custom.tar.gz
s3://...
22
Summary
• Amazon EMR + Amazon S3
– コンピュートとストレージを分離
– 25 PBのAmazon S3のデータをAmazon EMRのクラスタから操作
• Presto at Netflix
– インタラ...
23
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Upcoming SlideShare
Loading in …5
×

NetflixにおけるPresto/Spark活用事例

5,073 views

Published on

Hadoop/Spark Conference Japan 2016でのライトニングトークの資料 by Ryosuke Iwanaga (@riywo)

Published in: Technology
  • Be the first to comment

NetflixにおけるPresto/Spark活用事例

  1. 1. 1 NetflixにおけるPresto/Spark活用事例 2016/02/08 Ryosuke Iwanaga Solutions Architect, Amazon Web Services Japan
  2. 2. 2 Amazon EMR - 1クリックでHadoop/Spark • 分散処理基盤 – クラスタを簡単に構築 して破棄 • 分散処理アプリ – 使いたいアプリを選ぶ だけ • Hadoop 2.7.1 • Hive 1.0.0 • Pig 0.14.0 • Mahout 0.11.0 • Oozie 4.2.0 • Spark 1.6.0 • Presto 0.130 • Zeppelin 0.5.5 • Hue 3.7.1更新の速い(ほぼ月1ペース) ディストリビューション
  3. 3. 3 Amazon EMR - 1クリックでHadoop/Spark • 分散処理基盤 – クラスタを簡単に構築 して破棄 • 分散処理アプリ – 使いたいアプリを選ぶ だけ • Hadoop 2.7.1 • Hive 1.0.0 • Pig 0.14.0 • Mahout 0.11.0 • Oozie 4.2.0 • Spark 1.6.0 • Presto 0.130 • Zeppelin 0.5.5 • Hue 3.7.1
  4. 4. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Eva Tse and Daniel Weeks, Netflix October 2015 BDT303 Running Presto and Spark on the Netflix Big Data Platform
  5. 5. Netflixで鍵となるビジネス上のメトリクス 6500万人以上 の会員 50の国 1000以上の デバイス をサポート 100億 時間 / 四半期
  6. 6. 我々のBig Dataの規模感 トータル ~25PB のデータウェアがAmazon S3に 読み出し ~10% (データ/日) 書き込み ~10% (読み出しデータ/日) ~ 5500億イベント/日 ~ 350のアクティブなプラットフォームユーザ
  7. 7. Amazon S3をデータウェアストレージとして使う Amazon S3を唯一の正しいデータソースに(HDFSではなく) イレブン9の耐久性と99.99%の可用性が設計されている コンピュートとストレージを分離 鍵となる追加機能 - 複数の多様なクラスタ - Red-Blackデプロイで簡単に更新 S3
  8. 8. 分析 ETL 対話的なデータ探索 対話的なデータスライス リアルタイム分析、機械学習、他にも 異なるBig Dataの処理要件
  9. 9. なぜ我々はPrestoを愛しているか? Hadoopとの親和性 - Hive metastoreとの連携 AWS上で動かしやすい - Amazon S3と簡単に連携 スケーラブル - ペタバイトの規模で動作する ユーザが使いやすい - ANSI SQL オープンソース - Java! 高速
  10. 10. 利用状況の統計 ~3500 queries/day > 90%
  11. 11. 我々のデプロイ Version 0.114 + いくつかのパッチ + 1つの未公開パッチ (Parquet vectorized read integration) Amazon EMRのBootstrap Actionでデプロイ Hadoop YARNのクラスタとは別のクラスタ Hadoopのサービスは使わない Amazon EMRをクラスタ管理機能として活用
  12. 12. 2つの本番クラスタ リソースを隔離 Ad-hocクラスタ 1 coordinator (r3.4xl) + 225 workers (r3.4xl) アプリケーション専用クラスタ 1 coordinator (r3.4xl) + 4 workers + dynamic workers (r3.xl, r3.2xl, r3.4xl) Netflix spinnaker APIで、動的にクラスタサイズを変更
  13. 13. 動的なクラスタサイズ変更
  14. 14. なぜSpark? バッチジョブ (Pig, Hive) • ETLジョブ • レポートや、その他分析 対話的なジョブ (Presto) 対話的な機械学習ジョブ (Spark) プログラムが必要なユースケース
  15. 15. デプロイ @ Netflix Spark on Mesos • 独自のAMI • 全てBDAS (Berkeley Data Analytics Stack) • オンラインストリーム分析 Spark on YARN • Spark as a service • Amazon EMR上のYARNのアプリケーション • オフラインのバッチ分析
  16. 16. マルチテナント
  17. 17. Dynamic Allocation [SPARK-6954]
  18. 18. 複数バージョンをサポート $ spark-shell –ver 1.5 … s3://…/spark-1.4.tar.gz s3://…/spark-1.5.tar.gz s3://…/spark-1.5-custom.tar.gz s3://…/1.5/spark-defaults.conf s3://…/h2prod/yarn-site.xml s3://../h2prod/core-site.xml … 設定アプリケーション
  19. 19. 22 Summary • Amazon EMR + Amazon S3 – コンピュートとストレージを分離 – 25 PBのAmazon S3のデータをAmazon EMRのクラスタから操作 • Presto at Netflix – インタラクティブ用途、90%のクエリが1分未満 – Amazon EMRで構築、動的なサイジングも • Spark at Netflix – 機械学習バッチ、YARNでマルチテナント、Dynamic Allocation – Amazon EMRのYARNに、任意のバージョンのSparkで実行
  20. 20. 23

×