Upload
yahoo
View
224
Download
1
Embed Size (px)
Citation preview
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
2017年3月15日
岡田 幸大
Presto in Y!J
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
自己紹介
• 岡田幸大, #新卒2009
• github: @yuokada
• Like: #golang #python
• よく使うY!のサービス: #ヤフオク
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
自己紹介
• 2009/07~2013/03コメント機能 BE開発
• 2013/04~2016/09Web ビーコン 運用・開発
• 2016/10~Presto Cluster 構築・運用
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
アジェンダ
• Yahoo! Japanのマルチビッグデータ
• Prestoとは? - 事例紹介
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Y!J is Multi Big Data Company
サービス数は100以上
メディア、コマース、金融・決済など、幅広くサービスを展開
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Y!J is Multi Big Data Company
データのバラエティも100以上
検索キーワード、ビュー/クリック、コンテンツ、購買情報、など、多様なデータを活用可能
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Y!J is Multi Big Data Company
8
月間674億PV / 1日9,000万UB
PC + その他
281億 PV
Smart Phone
393億 PVFY16-3Q事業指標 http://ir.yahoo.co.jp/jp/archives/present/2016q3/index.html
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Y!J is Multi Big Data Company
NoSQLHadoop RDB
7,000 nodes
150 PB
800DBs
2,000nodes
Object
Storage
1,500nodes
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Y!J is Multi Big Data Company
様々なPFにあるデータをインタラクティブに分析する必要がある
これらのマルチビッグデータを活かすには?
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Y!J is Multi Big Data Company
そこで選んだのは、
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
What is Presto?
• Facebook製OSS
• 分散クエリエンジン
• インタラクティブなクエリに最適化されたアーキテクチャ
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
What is Presto?
Presto Users
• Netflix
• Amazon
• etchttps://github.com/prestodb/presto/wiki/Presto-Users
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
What is Presto?
source: https://prestodb.io/overview.html
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
What is Presto?
✅ Pros• コネクターを追加することで多種多様なデータPFと接続出来る
• データをメモリ上で処理するためクエリの実行が高速
• ANSI SQL サポート• UDF(ユーザー定義関数) サポート
https://prestodb.io/docs/current/connector.html
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
What is Presto?
• データがメモリから溢れた場合、クエリの実行に失敗
• ノードの障害時もクエリが失敗• 失敗時、自動での再実行無し
❌ Cons
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Prestoクラスターの導入例
• Object Storage上のログの分析• 障害発生時の調査を目的
• ログの形式はjson+gz
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Prestoクラスターの導入例
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Prestoクラスターの導入例
このクラスターを構築/運用したことでPrestoの課題が見えてきた
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Prestoクラスターの導入例
• 原因1. クエリ実行の度にファイルを取得2. jsonフォーマットの場合、
ファイル全体を取得
課題: ネットワーク帯域の圧迫
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
Prestoクラスターの導入例
もちろん、コミュニティと協力して!
さらに、Pull-Requestで!
この課題をどう解決するのか?
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
まとめ
• インタラクティブなクエリはPresto
• クラスター運用するための課題はまだまだ沢山
• 課題を解決するためにヤフーは積極的にOSSへコントリビュート
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved .
EOP