1
金融機関でのHive/Presto事例紹介
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.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
© 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
最大で
750億件の
イベントが
毎日
5 PBを超える
ストレージ
投資家を
保護する
マーケットを
清廉に保つ
アメリカの
99%の株取引と
70%のオプション
を監視している
マーケットの
再構築は
10兆もの
ノードとエッジが
含まれる
大きく
考える
EMRは我々のアーキテクチャ上でユビキタス
データマート
(Amazon
Redshift)
クエリクラスタ
(EMR)
クエリクラスタ
(EMR)
Auto
Scaled
EC2
分析
アプリ
正規化ETL
クラスタ
(EMR)
バッチ分析
クラスタ
(EMR)
アドホック
クエリクラスタ
(EMR)
Auto
Scaled
EC2
分析
アプリ
ユーザ データ
提供者
Auto
Scaled
EC2
データ
投入
サービス
最適化ETL
クラスタ
(EMR)
共有Metastore
(RDS)
クエリ最適化
(S3)
Auto Scaled EC2
データ
カタログ
&派生
サービス
参照データ
(RDS)
共有データサービス
Auto Scaled
EC2
クラスタ管理
&ワークフロー
サービス
生データ
(S3)
我々の partition と query 戦略
Data
received
as:
Users
query
by:
Symbol Group 1
Symbol Group 2
Symbol Group 3
…
Symbol Group 100
Late
Data
All late
records
scanned
for all
queries
On Time Data
(Processing Date = Event Date)
99.97% of all records are on time
Symbol Only Query
FirmOnlyQuery
Symbol & Firm Query
↓10,000 Firms
→
20,000
Symobols
EMR/S3で十分に戦える
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Nate Sammons, Principal Architect, Nasdaq, Inc.
October 2015
BDT314
Running a Big Data and Analytics
Application on Amazon EMR and Amazon
Redshift with a Focus on Security
ハイレベルな俯瞰図
300TBの直近データ
全てのデータを永久に保存
データセンタのKMSで、全て暗号化
Amazon S3
(client-side encrypted objects)
Amazon Redshift
Amazon EMR
Amazon EMRでのローカルディスク暗号化
• エフェメラルディスク暗号化のためにBootstrap action
• 具体的にはPrestoのローカル一時ストレージを暗号化
• 標準的なLinuxのLUKSの設定
• Nasdaq KMSとの連携
• 起動時にinit.dで鍵を取得し、ディスクをマウントする
ORC
利点
• DATE/TIMESTAMP型
(Hive/Presto)
弱点
• 固定したカラムの順序が必要
• 洗練されていない Java API
• 暗号化でパフォーマンス劣化
暗号化した時のファイルフォーマットの比較
Parquet
• Presto,Spark,Drill等でサポート
• 活発に開発されている
• 利用が増加している
• カラムは名前で参照される
hive.parquet.use-column-names=true
• 綺麗なJava API
• 暗号化しても良いパフォーマンス
13
Summary
• Amazon EMR + Amazon S3
– 最新のアプリケーションがすぐ使える (Hadoop 2.7, Spark 1.6など)
– コンピュートとストレージを分離
• FINRA
– 5PBのデータをAmazon S3上に、用途別のクラスタを複数利用
– パーティションを工夫、パフォーマンスはGreenplumと遜色なし
• Nasdaq
– 短期分析はAmazon Redshift、長期分析はAmazon EMR+Amazon S3
– 各種暗号化、ParquetとORCの暗号化パフォーマンス
14

金融機関でのHive/Presto事例紹介