SlideShare a Scribd company logo
© Hitachi Solutions, Ltd. 2015. All rights reserved.
今注目のSpark SQL、
知っておきたいその性能とは
株式会社 日立ソリューションズ
オープンソース技術グループ
2015/12/9
倉又 裕輔
© Hitachi Solutions, Ltd. 2015. All rights reserved.
自己紹介
1
 名前
倉又 裕輔 (くらまた ゆうすけ)
 所属
・(株)日立ソリューションズ
研究開発部 オープンソース技術グループ
・OSSコンソーシアム DB部会
 担当業務
・OSSのビッグデータ関連技術の
エンタープライズ利用に向けた調査
・調査で得られた技術情報の社内外への発信
© Hitachi Solutions, Ltd. 2015. All rights reserved.
OSSコンソーシアム DB部会の紹介
2
 活動目的
データベース領域でのオープンソースのさらなる発展促進を図る
 活動方針
・特定のプロダクトにとらわれず、第三者的な立場で
さまざまなデータベースの情報を収集し、
ユーザ・ベンダにフィードバックする機会を提供する
・データベースの垣根を越えたイベント等を開催する
 参加対象
・オープンソースデータベースを活用したソリューション、
サービスを提供している企業、技術者の皆様
・上記のソリューション、サービスを活用している、
又は興味のあるユーザの皆様
 参加企業
TIS株式会社
株式会社デジタル・ヒュージ・テクノロジー
特定非営利活動法人LPI-Japan
株式会社日立ソリューションズ
皆様のご参加を
お待ちしています!
http://www.osscons.jp/
© Hitachi Solutions, Ltd. 2015. All rights reserved.
1. 検証の背景
2. 性能検証の方法
3. 性能検証の結果
発表の流れ
4. まとめ
© Hitachi Solutions, Ltd. 2015. All rights reserved.
1. 検証の背景
© Hitachi Solutions, Ltd. 2015. All rights reserved.
1.1 ビッグデータ技術動向
5
ビッグデータ活用は年々拡大している
・ 2014年 国内ビッグデータソフトウェア市場規模は
110億9,100万円、前年比成長率39.3%
・ 大企業によるビッグデータ活用が活発化、
商用アプリケーションの採用が広がっている
・ IoTの普及やデジタルエコノミーの拡大により
市場規模は、2014年~2019年の年間平均成長率33.5%で拡大し、
2019年に470億6,100万円に達すると予測
引用 : 2015年8月12日 IDC Japan株式会社 プレスリリース
http://www.idcjapan.co.jp/Press/Current/20150812Apr.html
© Hitachi Solutions, Ltd. 2015. All rights reserved.
1.2. Hadoopの活用上のニーズ
6
MapReduceHive
Hadoop
レイテンシよりも
スループットを重視
・Hiveのクエリ言語は
SQLライクなHiveQL
・MapReduceはスループット重視
でありバッチ処理向き
・ビッグデータ活用における主要なデータ処理基盤としてHadoopが挙げられる
・Hadoop上のデータ処理には、従来から分散処理エンジンであるMapReduceや
MapReduce上で動作するクエリ処理技術であるHiveが利用されている
大量データや複雑なクエリでは
応答が遅くなりがち
YARN
HDFS
⇒ Hadoopでも
標準SQLを活用したい
⇒ インタラクティブに
クエリを実行したい
HiveQLによるクエリ
© Hitachi Solutions, Ltd. 2015. All rights reserved.
1.3. SQL on Hadoop
7
近年、Apache Sparkの注目度が高まってきている
⇒ Spark SQLに注目し、クエリ処理の性能検証を実施
・Hadoop上で標準SQLを使って、インタラクティブにクエリ処理を
実行可能な技術として、SQL on Hadoopが登場
・HadoopのデータをDWHなどでのインタラクティブ分析に活用できる
・OSSのSQL on Hadoopの開発が活発に行われてきている
HDFS
MapReduceよりも
インタラクティブな
クエリ処理が期待できる
Spark SQL
SQL
Hadoop
標準SQLによるクエリ
Impala
Drill
Presto
© Hitachi Solutions, Ltd. 2015. All rights reserved.
1.4. Spark SQLの特徴 (1)
8
 Apache Spark
・Spark SQLを含む4つのコンポーネントを持つ
- Spark SQL:SQLクエリ処理
- Spark Streaming:ストリーム処理
- MLlib:機械学習処理
- Graph X:グラフ処理
Spark SQLはApache Sparkのコンポーネントのひとつ
・OSSの汎用分散処理エンジン
・MapReduceより高速といわれている
・独自のクラスタマネージャの他
Hadoop YARN、Apache Mesosを利用できる
YARNと連携してHadoop上で動作可能
Spark
Hadoop
YARN
HDFS
Logistic regression in Hadoop and Spark
http://spark.apache.org/
http://spark.apache.org/
© Hitachi Solutions, Ltd. 2015. All rights reserved.
1.5. Spark SQLの特徴 (2)
9
 Spark SQL
Spark SQL
開発元 The Apache Software Foundation
ライセンス Apache License Version 2.0
開発言語 Scala
ユースケース 大規模データのインタラクティブ クエリ処理など
・Sparkの他コンポーネント(Spark StreamingやMllib)
と連携し、ストリーム処理や機械学習処理に
標準SQLを利用可能
・標準SQLを利用して、さまざまなデータにアクセス可能
- HDFS上のファイル(CSV, JSON, Parquet, ORC, Avroなど)
- Hiveテーブル
- RDBMS(JDBCを利用してアクセス)
http://spark.apache.org/sql/
・JDBC/ODBCを利用して、BIツールから利用可能
SQL
© Hitachi Solutions, Ltd. 2015. All rights reserved.
2. 性能検証の方法
© Hitachi Solutions, Ltd. 2015. All rights reserved.
2.1. 検証の目的と観点
11
Spark SQLの活用のためには、性能について把握が必要
検証の目的
Spark SQLはスケールアウトで性能向上するアーキテクチャ
Spark SQLは大規模データ処理を想定している
検証の観点
Spark SQLのクエリ処理速度の基礎性能を計測し
性能見積もりのための基礎データを得る
(1)ノード数の増加によるクエリ処理速度の向上
(2)処理データ量の増加によるクエリ処理速度の変化
© Hitachi Solutions, Ltd. 2015. All rights reserved.
2.2. 性能の評価方法
12
性能の比較対象
以下の2つのOSSを対象として、クエリ処理速度を比較
・Hive
MapReduce上で動作するクエリ処理ソフトウェア
・PostgreSQL
代表的なOSSのリレーショナルデータベース
性能の評価指標
以下の2つをクエリ処理速度の指標とする
・レイテンシ(=クエリ処理時間)
・スループット(=データ量(データ件数)÷レイテンシ)
Spark SQL・Hive・PostgreSQLで同一のクエリを実行し
レイテンシとスループットを比較する
© Hitachi Solutions, Ltd. 2015. All rights reserved.
YARN
HDFS
AWS
2.3. 検証環境の構成
1313
Hadoop
マスタPostgreSQL
Hadoop
クライアント
m4.xlarge
CPU:仮想4コア
メモリ:16GiB
Hadoopマスタ
d2.xlarge
CPU:仮想4コア
メモリ:30.5GiB
Hadoopスレーブ
PostgreSQL
Hadoopクラスタ
Name
Node
Resource
Manager
Node
Manager
Data
Node
Hadoop
スレーブ
Hive
Metastore
Server
Hive
Server2Spark SQL
Hadoop
クライアント
OS CentOS 6.5 64bit
Hadoop CDH 5.4.5
Spark SQL 1.5.0 (公式サイトから入手)
Hive 1.1.0 (CDHのパッケージ)
PostgreSQL 9.4
© Hitachi Solutions, Ltd. 2015. All rights reserved.
YARN
HDFS
AWS
2.4. 検証での処理のイメージ
1414
Hadoop
マスタPostgreSQL
Hadoopクラスタ
Hadoop
スレーブ
HiveSpark SQL
Hadoop
クライアント
CSV
テストデータ
コンテナ
3ノード
6ノード
9ノード
Spark SQL・Hive
共にYARN上で
クエリ処理実行
※処理エンジンは
異なる点に注意
・Spark SQL ⇒ Spark
・Hive ⇒ MapReduce
1ノードで固定
2000万件 (1GB)
2億件 (10GB)
10億件 (50GB)
20億件 (100GB)
40億件 (200GB)
© Hitachi Solutions, Ltd. 2015. All rights reserved.
2.5. テストデータ
15
テストデータ作成のため、PostgreSQLのツール「pgbench」を利用
・銀行の入出金取引のモデル
・下表の2テーブルを利用
・データ量増加の際は、pgbench_historyテーブルのデータ件数を増加
Table Column Type 意味
pgbench_accounts
・100万件 (100MB)
aid integer 利用者ごとの情報
・aid:利用者ID
・bid:銀行の支店ID
・abalance:残高
bid integer
abalance integer
pgbench_history
・2000万件 (1GB)
~40億件 (200GB)
tid integer 入出金の全履歴
・tid:取引履歴のID
・delta:入出金額bid integer
aid integer
delta integer
© Hitachi Solutions, Ltd. 2015. All rights reserved.
2.6. 実行クエリ
16
クエリ処理速度の基礎性能値を計測するため
以下の3種類の基本的なクエリを実行
(1)SELECT:入出金履歴から利用者IDと入出金額を指定して検索
SELECT bid, aid, delta FROM pgbench_history
WHERE aid = 1 AND delta = 2898;
(2)SUM:入出金履歴から支店ごとの入出金額を集計
SELECT bid, SUM(delta) FROM pgbench_history GROUP BY bid;
(3)JOIN:入出金履歴の内、利用者が自身の口座に対して行った取引のみを
抽出し、その入出金額を支店ごとに集計
SELECT c.abid, SUM(c.adelta)
FROM (SELECT a.aid AS aaid, a.bid AS abid,
a.delta AS adelta, b.bid AS bbid FROM history AS a
INNER JOIN account AS b ON a.aid = b.aid) AS c
WHERE c.abid = c.bbid GROUP BY c.abid;
aidとdeltaの指定により
出力処理件数を削減し
不要な負荷を低減
© Hitachi Solutions, Ltd. 2015. All rights reserved.
2.7. 性能計測の手順
17
(1)キャッシュの削除
テストデータの読み込みキャッシュが効いていない状態での性能を計測
・Spark SQL・Hive・PostgreSQLの再起動
・OSのキャッシュ上のデータ削除
(2)クエリの実行
以下の各プロダクトのシェルからクエリを実行
・Spark SQL:spark-shell
・Hive:Beeline
・PostgreSQL:psql
※キャッシュ削除後の初回の計測値のみ採用し
複数回計測した平均値の算出などは実施していない
(3)レイテンシとスループットの計測
各プロダクトのログからクエリの処理時間=レイテンシを取得
得られた処理時間と処理データ量からスループットを算出
以下を1クエリの実行ごとに実施
© Hitachi Solutions, Ltd. 2015. All rights reserved.
3. 性能検証の結果
© Hitachi Solutions, Ltd. 2015. All rights reserved.
YARN
HDFS
AWS
3.1. 【ノード数増加】 検証環境の構成(再掲)
1919
Hadoop
マスタPostgreSQL
Hadoopクラスタ
Hadoop
スレーブ
HiveSpark SQL
Hadoop
クライアント
CSV
コンテナ
3ノード
6ノード
9ノード
テストデータ
2億件(10GB)
で固定
1ノードで固定
© Hitachi Solutions, Ltd. 2015. All rights reserved.
3.1.1. 【ノード数増加】 検証結果(1)
20
①SELECT 3ノード 6ノード 9ノード
Spark SQL 42 24 18
Hive 68 45 32
PostgreSQL 57(1ノード)
レイテンシ(秒)
②SUM 3ノード 6ノード 9ノード
Spark SQL 51 31 23
Hive 170 99 72
PostgreSQL 57(1ノード)
③JOIN 3ノード 6ノード 9ノード
Spark SQL 103 59 44
Hive 350 200 150
PostgreSQL 130(1ノード)
Hiveでは数分かかっている
Spark SQLは全体的に
Hiveより低レイテンシ
© Hitachi Solutions, Ltd. 2015. All rights reserved.
3.1.2. 【ノード数増加】 検証結果(2)
21
スレーブノード数
0
5
10
15
0 3 6 9
Spark SQL
Hive
PostgreSQL(1Node)
4.8 4.5
2.9
3ノードより
1.7倍速い
3ノードより
2.3倍速い 11
3.5
6.2
8.3
ス
ル
ー
プ
ッ
ト
(
百
万
件
/
秒
)
・ほぼ線形に
スループット増加
・Hiveより
高スループット
①SELECT
1ノードでの性能
© Hitachi Solutions, Ltd. 2015. All rights reserved.
0
5
10
0 3 6 9
Spark SQL
Hive
PostgreSQL(1Node)
3.1.3. 【ノード数増加】 検証結果(3)
22
1.2
2.0
2.9
3ノードより
2.2倍速い
3ノードより
1.7倍速い
3.5
3.9
6.5
8.7
②SUM
ス
ル
ー
プ
ッ
ト
(
百
万
件
/
秒
)
スレーブノード数
・ほぼ線形に
スループット増加
・Hiveより
高スループット
© Hitachi Solutions, Ltd. 2015. All rights reserved.
0
5
10
0 3 6 9
Spark SQL
Hive
PostgreSQL(1Node)
3.1.4. 【ノード数増加】 検証結果(4)
23
1.9
1.0
1.4
3ノードより
2.4倍速い
3ノードより
1.8倍速い
0.58
3.4
4.5
1.5
・ほぼ線形に
スループット増加
・Hiveより
高スループット
③JOIN
ス
ル
ー
プ
ッ
ト
(
百
万
件
/
秒
)
スレーブノード数
© Hitachi Solutions, Ltd. 2015. All rights reserved.
YARN
HDFS
AWS
3.2. 【データ量増加】 検証環境の構成(再掲)
2424
Hadoop
マスタ
PostgreSQL
Hadoopクラスタ
HiveSpark SQL
Hadoop
クライアント
CSV
コンテナ
テストデータ
1ノードで固定
9ノードで固定
Hadoop
スレーブ
2000万件 (1GB)
2億件 (10GB)
10億件 (50GB)
20億件 (100GB)
40億件 (200GB)
© Hitachi Solutions, Ltd. 2015. All rights reserved.
3.2.1. 【データ量増加】 検証結果(1)
25
①SELECT 2000万件 2億件 10億件 20億件 40億件
Spark SQL 6.9 18 66 120 240
Hive 23 32 97 180 330
PostgreSQL 5.6 57 310 540 1300
レイテンシ(秒)
②SUM 2000万件 2億件 10億件 20億件 40億件
Spark SQL 10 23 77 140 280
Hive 38 72 270 480 710
PostgreSQL 5.6 57 310 540 1300
③JOIN 2000万件 2億件 10億件 20億件 40億件
Spark SQL 21 44 160 360 720
Hive 70 140 540 990 1600
PostgreSQL 11 130 720 1500 3100
Spark SQLは全体的に
Hiveより低レイテンシ
※Spark SQL・Hiveは9ノード。PostgreSQLは1ノードで検証
© Hitachi Solutions, Ltd. 2015. All rights reserved.
0
5
10
15
20
0 1000 2000 3000 4000
Spark SQL
Hive
PostgreSQL(1Node)
3.2.2. 【データ量増加】 検証結果(2)
26
2.9
11.1
16.1
0.88
6.2
3.5 3.7
Hiveの1.4倍
3.6
16.5
3.2 3.1
15.1
10.3
11.3
12.1
データ量(百万件)
・スループットは
単調増加(上昇率は
徐々に低下)
・全体的にHiveより
高スループット
ス
ル
ー
プ
ッ
ト
(
百
万
件
/
秒
)
①SELECT
(9Node)
(9Node)
© Hitachi Solutions, Ltd. 2015. All rights reserved.
0
5
10
15
20
0 1000 2000 3000 4000
Spark SQL
Hive
PostgreSQL(1Node)
3.2.3. 【データ量増加】 検証結果(3)
27
2.0
8.7
13.8
3.6
3.5
3.7
0.53
2.8
4.2
Hiveの2.6倍
12.9
14.4
5.6
3.2
3.7
3.1
データ量(百万件)
・スループットは
単調増加(上昇率は
徐々に低下)
・全体的にHiveより
高スループット
②SUM
ス
ル
ー
プ
ッ
ト
(
百
万
件
/
秒
)
(9Node)
(9Node)
© Hitachi Solutions, Ltd. 2015. All rights reserved.
0
5
10
0 1000 2000 3000 4000
Spark SQL
Hive
PostgreSQL(1Node)
3.2.4. 【データ量増加】 検証結果(4)
28
0.95
4.5
5.6
1.9 1.5
1.3
0.29
1.4
2.0
40億件で性能がほぼ一定
Hiveの2.3倍
6.1
5.5
2.4
1.8
1.4 1.3
10億件でピーク
Hiveの3.4倍
データ量(百万件)
・スループットは
ピークをとり
その後ほぼ一定値
・全体的にHiveより
高スループット
③JOIN
ス
ル
ー
プ
ッ
ト
(
百
万
件
/
秒
)
(9Node)
(9Node)
© Hitachi Solutions, Ltd. 2015. All rights reserved.
4. まとめ
© Hitachi Solutions, Ltd. 2015. All rights reserved.
4. まとめ
30
■ Spark SQLはHiveと比較して、大量データを低レイテンシに
クエリ処理できることがわかった
Spark SQLの活用により、インタラクティブに分析可能な
データ規模を拡大することが可能である
■ Spark SQLはノード増加によりほぼ線形に性能向上することがわかった
だだし、メモリサイズを超える規模のデータに対しては
性能が低下するため、想定するデータ量に応じた
メモリサイズ・ノード数の検討が必須である
本資料に掲載されている会社名、製品名、サービス名、ロゴは各社の登録商標、又は商標です。
・Apache Spark、Apache、Spark、Hadoop、Hiveは、The Apache Software Foundationの登録商標または商標です。
・PostgreSQLは、PostgreSQLの米国およびその他の国における登録商標または商標です
・その他記載の会社名、製品名は、それぞれの会社の商標もしくは登録商標です。

More Related Content

What's hot

マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
Hadoop / Spark Conference Japan
 
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Cloudera Japan
 
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウSpark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Future Of Data Japan
 
CDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokubenCDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokuben
Cloudera Japan
 
ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!
Nagato Kasaki
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
Hadoop / Spark Conference Japan
 
Is spark streaming based on reactive streams?
Is spark streaming based on reactive streams?Is spark streaming based on reactive streams?
Is spark streaming based on reactive streams?
chibochibo
 
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
Yoshinori Nakanishi
 
Hadoop Source Code Reading #17
Hadoop Source Code Reading #17Hadoop Source Code Reading #17
Hadoop Source Code Reading #17
Shingo Furuyama
 
最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
cyberagent
 
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tkHadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
NTT DATA OSS Professional Services
 
SparkやBigQueryなどを用いた モバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いた モバイルゲーム分析環境
yuichi_komatsu
 
機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介
Cloudera Japan
 
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Takeshi Mikami
 
Hadoop概要説明
Hadoop概要説明Hadoop概要説明
Hadoop概要説明Satoshi Noto
 
DB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works ApplicationsDB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works Applications
2t3
 
(LT)Spark and Cassandra
(LT)Spark and Cassandra(LT)Spark and Cassandra
(LT)Spark and Cassandra
datastaxjp
 
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
NTT DATA OSS Professional Services
 
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
Ryusuke Kajiyama
 

What's hot (20)

マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
 
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウSpark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
 
CDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokubenCDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokuben
 
ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
 
Is spark streaming based on reactive streams?
Is spark streaming based on reactive streams?Is spark streaming based on reactive streams?
Is spark streaming based on reactive streams?
 
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
 
Hadoop Source Code Reading #17
Hadoop Source Code Reading #17Hadoop Source Code Reading #17
Hadoop Source Code Reading #17
 
最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
 
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tkHadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
 
SparkやBigQueryなどを用いた モバイルゲーム分析環境
SparkやBigQueryなどを用いたモバイルゲーム分析環境SparkやBigQueryなどを用いたモバイルゲーム分析環境
SparkやBigQueryなどを用いた モバイルゲーム分析環境
 
Spark shark
Spark sharkSpark shark
Spark shark
 
機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介
 
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
 
Hadoop概要説明
Hadoop概要説明Hadoop概要説明
Hadoop概要説明
 
DB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works ApplicationsDB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works Applications
 
(LT)Spark and Cassandra
(LT)Spark and Cassandra(LT)Spark and Cassandra
(LT)Spark and Cassandra
 
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
 
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
 

Similar to 今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise

WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはdb tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはKoji Shinkubo
 
OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門
Dell TechCenter Japan
 
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
Insight Technology, Inc.
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
YusukeKuramata
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
Satoru Ishikawa
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
NTT DATA Technology & Innovation
 
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
Insight Technology, Inc.
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Recruit Technologies
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
Insight Technology, Inc.
 
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Supership株式会社
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報dstn
 
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
ShuheiUda
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
Makoto Sato
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
Yahoo!デベロッパーネットワーク
 
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji ShinkuboD22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji ShinkuboInsight Technology, Inc.
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
NTT DATA Technology & Innovation
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
Insight Technology, Inc.
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
 

Similar to 今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise (20)

WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはdb tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
 
OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門
 
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
 
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji ShinkuboD22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 

今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise

  • 1. © Hitachi Solutions, Ltd. 2015. All rights reserved. 今注目のSpark SQL、 知っておきたいその性能とは 株式会社 日立ソリューションズ オープンソース技術グループ 2015/12/9 倉又 裕輔
  • 2. © Hitachi Solutions, Ltd. 2015. All rights reserved. 自己紹介 1  名前 倉又 裕輔 (くらまた ゆうすけ)  所属 ・(株)日立ソリューションズ 研究開発部 オープンソース技術グループ ・OSSコンソーシアム DB部会  担当業務 ・OSSのビッグデータ関連技術の エンタープライズ利用に向けた調査 ・調査で得られた技術情報の社内外への発信
  • 3. © Hitachi Solutions, Ltd. 2015. All rights reserved. OSSコンソーシアム DB部会の紹介 2  活動目的 データベース領域でのオープンソースのさらなる発展促進を図る  活動方針 ・特定のプロダクトにとらわれず、第三者的な立場で さまざまなデータベースの情報を収集し、 ユーザ・ベンダにフィードバックする機会を提供する ・データベースの垣根を越えたイベント等を開催する  参加対象 ・オープンソースデータベースを活用したソリューション、 サービスを提供している企業、技術者の皆様 ・上記のソリューション、サービスを活用している、 又は興味のあるユーザの皆様  参加企業 TIS株式会社 株式会社デジタル・ヒュージ・テクノロジー 特定非営利活動法人LPI-Japan 株式会社日立ソリューションズ 皆様のご参加を お待ちしています! http://www.osscons.jp/
  • 4. © Hitachi Solutions, Ltd. 2015. All rights reserved. 1. 検証の背景 2. 性能検証の方法 3. 性能検証の結果 発表の流れ 4. まとめ
  • 5. © Hitachi Solutions, Ltd. 2015. All rights reserved. 1. 検証の背景
  • 6. © Hitachi Solutions, Ltd. 2015. All rights reserved. 1.1 ビッグデータ技術動向 5 ビッグデータ活用は年々拡大している ・ 2014年 国内ビッグデータソフトウェア市場規模は 110億9,100万円、前年比成長率39.3% ・ 大企業によるビッグデータ活用が活発化、 商用アプリケーションの採用が広がっている ・ IoTの普及やデジタルエコノミーの拡大により 市場規模は、2014年~2019年の年間平均成長率33.5%で拡大し、 2019年に470億6,100万円に達すると予測 引用 : 2015年8月12日 IDC Japan株式会社 プレスリリース http://www.idcjapan.co.jp/Press/Current/20150812Apr.html
  • 7. © Hitachi Solutions, Ltd. 2015. All rights reserved. 1.2. Hadoopの活用上のニーズ 6 MapReduceHive Hadoop レイテンシよりも スループットを重視 ・Hiveのクエリ言語は SQLライクなHiveQL ・MapReduceはスループット重視 でありバッチ処理向き ・ビッグデータ活用における主要なデータ処理基盤としてHadoopが挙げられる ・Hadoop上のデータ処理には、従来から分散処理エンジンであるMapReduceや MapReduce上で動作するクエリ処理技術であるHiveが利用されている 大量データや複雑なクエリでは 応答が遅くなりがち YARN HDFS ⇒ Hadoopでも 標準SQLを活用したい ⇒ インタラクティブに クエリを実行したい HiveQLによるクエリ
  • 8. © Hitachi Solutions, Ltd. 2015. All rights reserved. 1.3. SQL on Hadoop 7 近年、Apache Sparkの注目度が高まってきている ⇒ Spark SQLに注目し、クエリ処理の性能検証を実施 ・Hadoop上で標準SQLを使って、インタラクティブにクエリ処理を 実行可能な技術として、SQL on Hadoopが登場 ・HadoopのデータをDWHなどでのインタラクティブ分析に活用できる ・OSSのSQL on Hadoopの開発が活発に行われてきている HDFS MapReduceよりも インタラクティブな クエリ処理が期待できる Spark SQL SQL Hadoop 標準SQLによるクエリ Impala Drill Presto
  • 9. © Hitachi Solutions, Ltd. 2015. All rights reserved. 1.4. Spark SQLの特徴 (1) 8  Apache Spark ・Spark SQLを含む4つのコンポーネントを持つ - Spark SQL:SQLクエリ処理 - Spark Streaming:ストリーム処理 - MLlib:機械学習処理 - Graph X:グラフ処理 Spark SQLはApache Sparkのコンポーネントのひとつ ・OSSの汎用分散処理エンジン ・MapReduceより高速といわれている ・独自のクラスタマネージャの他 Hadoop YARN、Apache Mesosを利用できる YARNと連携してHadoop上で動作可能 Spark Hadoop YARN HDFS Logistic regression in Hadoop and Spark http://spark.apache.org/ http://spark.apache.org/
  • 10. © Hitachi Solutions, Ltd. 2015. All rights reserved. 1.5. Spark SQLの特徴 (2) 9  Spark SQL Spark SQL 開発元 The Apache Software Foundation ライセンス Apache License Version 2.0 開発言語 Scala ユースケース 大規模データのインタラクティブ クエリ処理など ・Sparkの他コンポーネント(Spark StreamingやMllib) と連携し、ストリーム処理や機械学習処理に 標準SQLを利用可能 ・標準SQLを利用して、さまざまなデータにアクセス可能 - HDFS上のファイル(CSV, JSON, Parquet, ORC, Avroなど) - Hiveテーブル - RDBMS(JDBCを利用してアクセス) http://spark.apache.org/sql/ ・JDBC/ODBCを利用して、BIツールから利用可能 SQL
  • 11. © Hitachi Solutions, Ltd. 2015. All rights reserved. 2. 性能検証の方法
  • 12. © Hitachi Solutions, Ltd. 2015. All rights reserved. 2.1. 検証の目的と観点 11 Spark SQLの活用のためには、性能について把握が必要 検証の目的 Spark SQLはスケールアウトで性能向上するアーキテクチャ Spark SQLは大規模データ処理を想定している 検証の観点 Spark SQLのクエリ処理速度の基礎性能を計測し 性能見積もりのための基礎データを得る (1)ノード数の増加によるクエリ処理速度の向上 (2)処理データ量の増加によるクエリ処理速度の変化
  • 13. © Hitachi Solutions, Ltd. 2015. All rights reserved. 2.2. 性能の評価方法 12 性能の比較対象 以下の2つのOSSを対象として、クエリ処理速度を比較 ・Hive MapReduce上で動作するクエリ処理ソフトウェア ・PostgreSQL 代表的なOSSのリレーショナルデータベース 性能の評価指標 以下の2つをクエリ処理速度の指標とする ・レイテンシ(=クエリ処理時間) ・スループット(=データ量(データ件数)÷レイテンシ) Spark SQL・Hive・PostgreSQLで同一のクエリを実行し レイテンシとスループットを比較する
  • 14. © Hitachi Solutions, Ltd. 2015. All rights reserved. YARN HDFS AWS 2.3. 検証環境の構成 1313 Hadoop マスタPostgreSQL Hadoop クライアント m4.xlarge CPU:仮想4コア メモリ:16GiB Hadoopマスタ d2.xlarge CPU:仮想4コア メモリ:30.5GiB Hadoopスレーブ PostgreSQL Hadoopクラスタ Name Node Resource Manager Node Manager Data Node Hadoop スレーブ Hive Metastore Server Hive Server2Spark SQL Hadoop クライアント OS CentOS 6.5 64bit Hadoop CDH 5.4.5 Spark SQL 1.5.0 (公式サイトから入手) Hive 1.1.0 (CDHのパッケージ) PostgreSQL 9.4
  • 15. © Hitachi Solutions, Ltd. 2015. All rights reserved. YARN HDFS AWS 2.4. 検証での処理のイメージ 1414 Hadoop マスタPostgreSQL Hadoopクラスタ Hadoop スレーブ HiveSpark SQL Hadoop クライアント CSV テストデータ コンテナ 3ノード 6ノード 9ノード Spark SQL・Hive 共にYARN上で クエリ処理実行 ※処理エンジンは 異なる点に注意 ・Spark SQL ⇒ Spark ・Hive ⇒ MapReduce 1ノードで固定 2000万件 (1GB) 2億件 (10GB) 10億件 (50GB) 20億件 (100GB) 40億件 (200GB)
  • 16. © Hitachi Solutions, Ltd. 2015. All rights reserved. 2.5. テストデータ 15 テストデータ作成のため、PostgreSQLのツール「pgbench」を利用 ・銀行の入出金取引のモデル ・下表の2テーブルを利用 ・データ量増加の際は、pgbench_historyテーブルのデータ件数を増加 Table Column Type 意味 pgbench_accounts ・100万件 (100MB) aid integer 利用者ごとの情報 ・aid:利用者ID ・bid:銀行の支店ID ・abalance:残高 bid integer abalance integer pgbench_history ・2000万件 (1GB) ~40億件 (200GB) tid integer 入出金の全履歴 ・tid:取引履歴のID ・delta:入出金額bid integer aid integer delta integer
  • 17. © Hitachi Solutions, Ltd. 2015. All rights reserved. 2.6. 実行クエリ 16 クエリ処理速度の基礎性能値を計測するため 以下の3種類の基本的なクエリを実行 (1)SELECT:入出金履歴から利用者IDと入出金額を指定して検索 SELECT bid, aid, delta FROM pgbench_history WHERE aid = 1 AND delta = 2898; (2)SUM:入出金履歴から支店ごとの入出金額を集計 SELECT bid, SUM(delta) FROM pgbench_history GROUP BY bid; (3)JOIN:入出金履歴の内、利用者が自身の口座に対して行った取引のみを 抽出し、その入出金額を支店ごとに集計 SELECT c.abid, SUM(c.adelta) FROM (SELECT a.aid AS aaid, a.bid AS abid, a.delta AS adelta, b.bid AS bbid FROM history AS a INNER JOIN account AS b ON a.aid = b.aid) AS c WHERE c.abid = c.bbid GROUP BY c.abid; aidとdeltaの指定により 出力処理件数を削減し 不要な負荷を低減
  • 18. © Hitachi Solutions, Ltd. 2015. All rights reserved. 2.7. 性能計測の手順 17 (1)キャッシュの削除 テストデータの読み込みキャッシュが効いていない状態での性能を計測 ・Spark SQL・Hive・PostgreSQLの再起動 ・OSのキャッシュ上のデータ削除 (2)クエリの実行 以下の各プロダクトのシェルからクエリを実行 ・Spark SQL:spark-shell ・Hive:Beeline ・PostgreSQL:psql ※キャッシュ削除後の初回の計測値のみ採用し 複数回計測した平均値の算出などは実施していない (3)レイテンシとスループットの計測 各プロダクトのログからクエリの処理時間=レイテンシを取得 得られた処理時間と処理データ量からスループットを算出 以下を1クエリの実行ごとに実施
  • 19. © Hitachi Solutions, Ltd. 2015. All rights reserved. 3. 性能検証の結果
  • 20. © Hitachi Solutions, Ltd. 2015. All rights reserved. YARN HDFS AWS 3.1. 【ノード数増加】 検証環境の構成(再掲) 1919 Hadoop マスタPostgreSQL Hadoopクラスタ Hadoop スレーブ HiveSpark SQL Hadoop クライアント CSV コンテナ 3ノード 6ノード 9ノード テストデータ 2億件(10GB) で固定 1ノードで固定
  • 21. © Hitachi Solutions, Ltd. 2015. All rights reserved. 3.1.1. 【ノード数増加】 検証結果(1) 20 ①SELECT 3ノード 6ノード 9ノード Spark SQL 42 24 18 Hive 68 45 32 PostgreSQL 57(1ノード) レイテンシ(秒) ②SUM 3ノード 6ノード 9ノード Spark SQL 51 31 23 Hive 170 99 72 PostgreSQL 57(1ノード) ③JOIN 3ノード 6ノード 9ノード Spark SQL 103 59 44 Hive 350 200 150 PostgreSQL 130(1ノード) Hiveでは数分かかっている Spark SQLは全体的に Hiveより低レイテンシ
  • 22. © Hitachi Solutions, Ltd. 2015. All rights reserved. 3.1.2. 【ノード数増加】 検証結果(2) 21 スレーブノード数 0 5 10 15 0 3 6 9 Spark SQL Hive PostgreSQL(1Node) 4.8 4.5 2.9 3ノードより 1.7倍速い 3ノードより 2.3倍速い 11 3.5 6.2 8.3 ス ル ー プ ッ ト ( 百 万 件 / 秒 ) ・ほぼ線形に スループット増加 ・Hiveより 高スループット ①SELECT 1ノードでの性能
  • 23. © Hitachi Solutions, Ltd. 2015. All rights reserved. 0 5 10 0 3 6 9 Spark SQL Hive PostgreSQL(1Node) 3.1.3. 【ノード数増加】 検証結果(3) 22 1.2 2.0 2.9 3ノードより 2.2倍速い 3ノードより 1.7倍速い 3.5 3.9 6.5 8.7 ②SUM ス ル ー プ ッ ト ( 百 万 件 / 秒 ) スレーブノード数 ・ほぼ線形に スループット増加 ・Hiveより 高スループット
  • 24. © Hitachi Solutions, Ltd. 2015. All rights reserved. 0 5 10 0 3 6 9 Spark SQL Hive PostgreSQL(1Node) 3.1.4. 【ノード数増加】 検証結果(4) 23 1.9 1.0 1.4 3ノードより 2.4倍速い 3ノードより 1.8倍速い 0.58 3.4 4.5 1.5 ・ほぼ線形に スループット増加 ・Hiveより 高スループット ③JOIN ス ル ー プ ッ ト ( 百 万 件 / 秒 ) スレーブノード数
  • 25. © Hitachi Solutions, Ltd. 2015. All rights reserved. YARN HDFS AWS 3.2. 【データ量増加】 検証環境の構成(再掲) 2424 Hadoop マスタ PostgreSQL Hadoopクラスタ HiveSpark SQL Hadoop クライアント CSV コンテナ テストデータ 1ノードで固定 9ノードで固定 Hadoop スレーブ 2000万件 (1GB) 2億件 (10GB) 10億件 (50GB) 20億件 (100GB) 40億件 (200GB)
  • 26. © Hitachi Solutions, Ltd. 2015. All rights reserved. 3.2.1. 【データ量増加】 検証結果(1) 25 ①SELECT 2000万件 2億件 10億件 20億件 40億件 Spark SQL 6.9 18 66 120 240 Hive 23 32 97 180 330 PostgreSQL 5.6 57 310 540 1300 レイテンシ(秒) ②SUM 2000万件 2億件 10億件 20億件 40億件 Spark SQL 10 23 77 140 280 Hive 38 72 270 480 710 PostgreSQL 5.6 57 310 540 1300 ③JOIN 2000万件 2億件 10億件 20億件 40億件 Spark SQL 21 44 160 360 720 Hive 70 140 540 990 1600 PostgreSQL 11 130 720 1500 3100 Spark SQLは全体的に Hiveより低レイテンシ ※Spark SQL・Hiveは9ノード。PostgreSQLは1ノードで検証
  • 27. © Hitachi Solutions, Ltd. 2015. All rights reserved. 0 5 10 15 20 0 1000 2000 3000 4000 Spark SQL Hive PostgreSQL(1Node) 3.2.2. 【データ量増加】 検証結果(2) 26 2.9 11.1 16.1 0.88 6.2 3.5 3.7 Hiveの1.4倍 3.6 16.5 3.2 3.1 15.1 10.3 11.3 12.1 データ量(百万件) ・スループットは 単調増加(上昇率は 徐々に低下) ・全体的にHiveより 高スループット ス ル ー プ ッ ト ( 百 万 件 / 秒 ) ①SELECT (9Node) (9Node)
  • 28. © Hitachi Solutions, Ltd. 2015. All rights reserved. 0 5 10 15 20 0 1000 2000 3000 4000 Spark SQL Hive PostgreSQL(1Node) 3.2.3. 【データ量増加】 検証結果(3) 27 2.0 8.7 13.8 3.6 3.5 3.7 0.53 2.8 4.2 Hiveの2.6倍 12.9 14.4 5.6 3.2 3.7 3.1 データ量(百万件) ・スループットは 単調増加(上昇率は 徐々に低下) ・全体的にHiveより 高スループット ②SUM ス ル ー プ ッ ト ( 百 万 件 / 秒 ) (9Node) (9Node)
  • 29. © Hitachi Solutions, Ltd. 2015. All rights reserved. 0 5 10 0 1000 2000 3000 4000 Spark SQL Hive PostgreSQL(1Node) 3.2.4. 【データ量増加】 検証結果(4) 28 0.95 4.5 5.6 1.9 1.5 1.3 0.29 1.4 2.0 40億件で性能がほぼ一定 Hiveの2.3倍 6.1 5.5 2.4 1.8 1.4 1.3 10億件でピーク Hiveの3.4倍 データ量(百万件) ・スループットは ピークをとり その後ほぼ一定値 ・全体的にHiveより 高スループット ③JOIN ス ル ー プ ッ ト ( 百 万 件 / 秒 ) (9Node) (9Node)
  • 30. © Hitachi Solutions, Ltd. 2015. All rights reserved. 4. まとめ
  • 31. © Hitachi Solutions, Ltd. 2015. All rights reserved. 4. まとめ 30 ■ Spark SQLはHiveと比較して、大量データを低レイテンシに クエリ処理できることがわかった Spark SQLの活用により、インタラクティブに分析可能な データ規模を拡大することが可能である ■ Spark SQLはノード増加によりほぼ線形に性能向上することがわかった だだし、メモリサイズを超える規模のデータに対しては 性能が低下するため、想定するデータ量に応じた メモリサイズ・ノード数の検討が必須である
  • 32. 本資料に掲載されている会社名、製品名、サービス名、ロゴは各社の登録商標、又は商標です。 ・Apache Spark、Apache、Spark、Hadoop、Hiveは、The Apache Software Foundationの登録商標または商標です。 ・PostgreSQLは、PostgreSQLの米国およびその他の国における登録商標または商標です ・その他記載の会社名、製品名は、それぞれの会社の商標もしくは登録商標です。