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.
1Copyright © 2014 NTT DATA Corporation
株式会社 NTTデータ
安達 仁
SQL on Hadoop の比較検証
~ Clouderaレポートを追試してみました ~
2Copyright © 2014 NTT DATA Corporation
自己紹介
 氏名
 安達 仁(あだち じん)
 email: adachij@nttdata.co.jp
 所属
 NTTデータ 基盤システム事業本部 OS...
Copyright © 2014 NTT DATA Corporation 3
SQL on Hadoop
4Copyright © 2014 NTT DATA Corporation
SQL on Hadoop
 (今回の)SQL on Hadoopの定義
 たくさんのSQL on Hadoop
 Impala
- Clouderaが開発
-...
5Copyright © 2014 NTT DATA Corporation
 ベンダが提示するベンチマークの結果は信用できないものが多い
 特殊なチューニング
 自社に有利な検証環境
 リソース情報なし
 Impala
 「TPC...
6Copyright © 2014 NTT DATA Corporation
 単に追試するだけでなく、以下の項目を追加した
 データサイズを変えて検証
- 数GB~数TB
 リソースの使用状況を取得
- CPU、メモリ、ネットワーク、H...
7Copyright © 2014 NTT DATA Corporation
検証環境(1/2)
 TPC-DSを使用したベンチマークを実施
 ClouderaのImpalaレポート(*1)が元ネタ
 大規模小売業のオペレーションを想定し...
8Copyright © 2014 NTT DATA Corporation
検証環境(2/2)
 ソフトウェア構成
 Impala、Presto
 Hive on Tez
 Hadoopディストリビューションは複数使用
 Impal...
Copyright © 2014 NTT DATA Corporation 9
性能検証
10Copyright © 2014 NTT DATA Corporation
はじめに
 ベンチマーク
 TPC-DSはオンライン処理のベンチマーク
 検証の趣旨と合致するが、ETLでは結果が異なることが予想される
 HWのスペック
...
11Copyright © 2014 NTT DATA Corporation
性能検証(1/4)
 ベンチマーク結果(small)
 Parquet+Snappy:5.1GB、ORC+zlib:3.4GB
 メモリに乗るサイズ
 全ク...
12Copyright © 2014 NTT DATA Corporation
性能検証(2/4)
 ベンチマーク結果(medium)
 Parquet+Snappy:47.9GB、ORC+zlib:33.6GB
 メモリに乗るサイズ
...
13Copyright © 2014 NTT DATA Corporation
性能検証(3/4)
 ベンチマーク結果(large)
 Parquet+Snappy:433.1GB、ORC+zlib:335.9GB
 メモリに乗らないサイ...
14Copyright © 2014 NTT DATA Corporation
性能検証(4/4)
 ベンチマーク結果(xlarge)
 Parquet+Snappy:1.2TB、ORC+zlib:1TB
 メモリに乗らないサイズ
 全...
15Copyright © 2014 NTT DATA Corporation
性能検証(まとめ)
 ベンチマーク結果
 対Hiveの速度比(サイズ別全クエリ平均)
 Impara、Prestoは確かに速いが...
 データサイズの増加...
Copyright © 2014 NTT DATA Corporation 16
リソース検証
17Copyright © 2014 NTT DATA Corporation
Impalaが遅くなるパターン
 リソース利用状況(largeとxlargeのq59)
 スワップが発生してパフォーマンスが劣化している
 CPU、メモリ
...
18Copyright © 2014 NTT DATA Corporation
Prestoが極端に遅くなるパターン
 リソース利用状況(medium、q65)
 完全にリソースを使い切った場合はクエリが失敗するが、遅くなりながら完走する
...
19Copyright © 2014 NTT DATA Corporation
 リソース利用状況(xlarge、q65)
 small~xlargeまでCPU、メモリ、HDD、ネットワークをまんべんなく使う
 CPU、メモリ
 使用率...
20Copyright © 2014 NTT DATA Corporation
まとめ
 Impala、Presto、Hive on Tezを比較した
 Impala
 今回の検証結果では最もよい結果となった
 データサイズが大きくなる...
Copyright © 2011 NTT DATA Corporation
Copyright © 2014 NTT DATA Corporation
お問い合わせ先:
株式会社NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービ...
Upcoming SlideShare
Loading in …5
×

SQL on Hadoop 比較検証 【2014月11日における検証レポート】

12,822 views

Published on

Impala Meetup 2014/10/31 @Tokyo 講演資料

【注意事項】
本資料で紹介している検証結果は2014年当時のものです。当該ソフトウェアは成長や改善が早く、現時点のバージョンでは大きく異なる機能や性能となっています。

SQL on Hadoopの最新情報に基づくサービスやシステムインテグレーションにご興味をお持ちの方は、NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス(電子メール: hadoop [AT] kits.nttdata.co.jp) にご相談ください。

Published in: Technology
  • Be the first to comment

SQL on Hadoop 比較検証 【2014月11日における検証レポート】

  1. 1. 1Copyright © 2014 NTT DATA Corporation 株式会社 NTTデータ 安達 仁 SQL on Hadoop の比較検証 ~ Clouderaレポートを追試してみました ~
  2. 2. 2Copyright © 2014 NTT DATA Corporation 自己紹介  氏名  安達 仁(あだち じん)  email: adachij@nttdata.co.jp  所属  NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス  OSSのサポートサービス、構築・運用支援を担当 - 徹底的に検証・評価したOSSの組み合わせ、設定・運用のノウハウの提供 - 高品質なシステム基盤を実現する仕組みの整備 - 幅広いOSSを対象とするプロフェッショナルサービスの提供 - NTT持株会社 OSSセンタとも連携  NTTデータのHadoopソリューション  2010年7月、Hadoopの構築・運用ソリューションを提供開始 - http://oss.nttdata.co.jp/hadoop/bxshs.html - コンサルティング、評価支援、構築、サポート、教育  所属部署には 「Hadoop徹底入門」「HADOOP HACKS」 の著者が複数在籍 - その片隅で働いてます。(^^ゞ
  3. 3. Copyright © 2014 NTT DATA Corporation 3 SQL on Hadoop
  4. 4. 4Copyright © 2014 NTT DATA Corporation SQL on Hadoop  (今回の)SQL on Hadoopの定義  たくさんのSQL on Hadoop  Impala - Clouderaが開発 - 2012/10にパブリックベータがリリースされており、SQL on Hadoopの走り - 今回の主役?  Presto - Facebookが開発 - 2013/11に公開された新しいSQL on Hadoopで開発が活発  Hive on Tez - Hortonworksが主導 - Tez:YARN上で動作するFW - 他のSQL on Hadoopと異なり、Hiveの後継  その他、LinkedIn Tajo、MapR Drillなど  Hadoop上で動作するSQL実行基盤  低レイテンシなクエリ処理に使える  HDFS上のデータを透過的に扱える 検証対象
  5. 5. 5Copyright © 2014 NTT DATA Corporation  ベンダが提示するベンチマークの結果は信用できないものが多い  特殊なチューニング  自社に有利な検証環境  リソース情報なし  Impala  「TPC-DSのクエリ全体平均で、Hiveの24倍速い」(*1)  Presto  「Hiveの10倍速い」(*2)  Hive on Tez  「TPC-DSのインタラクティブクエリ平均で、Hiveの66倍速い」(*3) 検証の経緯 謳い文句どおりか追試してみました *1 http://blog.cloudera.com/blog/2014/01/impala-performance-dbms-class-speed *2 https://www.facebook.com/notes/facebook-engineering/presto-interacting-with-petabytes-of-data-at-facebook/10151786197628920 *3 http://hortonworks.com/blog/benchmarking-apache-hive-13-enterprise-hadoop 本当?
  6. 6. 6Copyright © 2014 NTT DATA Corporation  単に追試するだけでなく、以下の項目を追加した  データサイズを変えて検証 - 数GB~数TB  リソースの使用状況を取得 - CPU、メモリ、ネットワーク、HDD  小規模クラスタ  クエリの改修  Impalaでしか動作しないクエリをPresto、 Hive on Tez向けに修正 - WHERE句でのJOINなど  数100GBのデータロードに失敗する - パーティションを分割してロードするスクリプトを作成  ノーチューニング  Cloudera Manager、Ambariの設定を使用 - ヒープサイズのみ変更 - ファイルフォーマット、圧縮形式はオススメを利用 – ImpalaはParquet(Snappy)、PrestoおよびHive on TezはORC(zlib)を使用 検証への追加 Tips
  7. 7. 7Copyright © 2014 NTT DATA Corporation 検証環境(1/2)  TPC-DSを使用したベンチマークを実施  ClouderaのImpalaレポート(*1)が元ネタ  大規模小売業のオペレーションを想定したクエリ  データサイズを複数用意  small(数GB)、medium(数10GB)、large(数100GB)、xlarge(数TB)  ファイルフォーマット、圧縮形式によりサイズが異なる  ハードウェア構成  マスタ x1、スレーブ x3、クライアント x1  スペックはすべて同じ 種別 型番 マシン Dell PowerEdge R520 CPU Xeon(R) CPU E5-2407 @ 2.20GHz x 2 メモリ DIMM DDR3 Synchronous 1333 MHz 8GB x 8 ディスク Western Digital WD2000FYYX 2TB x 4 ネットワーク Intel Ethernet Controller 10-Gigabit X540-AT2 *1 http://blog.cloudera.com/blog/2014/05/new-sql-choices-in-the-apache-hadoop-ecosystem-why-impala-continues-to-lead/
  8. 8. 8Copyright © 2014 NTT DATA Corporation 検証環境(2/2)  ソフトウェア構成  Impala、Presto  Hive on Tez  Hadoopディストリビューションは複数使用  ImpalaはCDH 5.0に付属  PrestoはCDHと組み合わせて動作させる  Hive on TezはHDP 2.1に付属  Tezの利用にHive 0.13が必須のため ソフトウェア バージョン ファイルフォーマット 圧縮形式 CDH 5.0.2 - - Hive(比較元) 0.12 ORC zlib Impala 1.3.1 Parquet Snappy Presto 0.69 ORC zlib ソフトウェア バージョン ファイルフォーマット 圧縮形式 HDP 2.1.4 - - Hive 0.13 ORC zlib Tez 0.4 - -
  9. 9. Copyright © 2014 NTT DATA Corporation 9 性能検証
  10. 10. 10Copyright © 2014 NTT DATA Corporation はじめに  ベンチマーク  TPC-DSはオンライン処理のベンチマーク  検証の趣旨と合致するが、ETLでは結果が異なることが予想される  HWのスペック  Impalaのことを考えるなら、メモリをもっと積んだほうがよい  しかし、Hadoopに合わせるなら、64GBは妥当なところでは  ディスク容量の都合で、TB以上の検証ができていない  SWのバージョン  各プロダクトのバージョンが若干古い(すみません...)  CDH 5.2でImpala 2.0が入った  Prestoは週替りのリリースで0.79まで進んだ  HDP 2.2のリリースがそろそろ。Hive 0.14、Tez 0.60が入る 各プロダクトとも活発に開発が進められているため、 すぐに検証結果が古くなる [参考]Impalaレポートは 384GB
  11. 11. 11Copyright © 2014 NTT DATA Corporation 性能検証(1/4)  ベンチマーク結果(small)  Parquet+Snappy:5.1GB、ORC+zlib:3.4GB  メモリに乗るサイズ  全クエリ中央値の速度比較(対Hive)  Impala:34.0倍  Presto:11.7倍  Tez:2.1倍 いずれも速い 0 50 100 150 200 250 300 350 400 Hive(ORC) Impala(Parquet) Presto(ORC) Hive on Tez(ORC) 単位:秒
  12. 12. 12Copyright © 2014 NTT DATA Corporation 性能検証(2/4)  ベンチマーク結果(medium)  Parquet+Snappy:47.9GB、ORC+zlib:33.6GB  メモリに乗るサイズ  全クエリ中央値の速度比較(対Hive)  Impala:21.9倍  Presto:3.3倍  Tez:2.9倍 smallより速い 0 500 1000 1500 2000 2500 3000 3500 4000 Hive(ORC) Impala(Parquet) Presto(ORC) Hive on Tez(ORC) 極端に遅い (※後述) smallより遅い 単位:秒
  13. 13. 13Copyright © 2014 NTT DATA Corporation 性能検証(3/4)  ベンチマーク結果(large)  Parquet+Snappy:433.1GB、ORC+zlib:335.9GB  メモリに乗らないサイズ  全クエリ中央値の速度比較(対Hive)  Impala:12.7倍  Presto:2.0倍(※成功したクエリのみ)  Tez:2.6倍 mediumより遅い smallより速い 0 1000 2000 3000 4000 5000 6000 7000 Hive(ORC) Impala(Parquet) Presto(ORC) Hive on Tez(ORC) q3、q19、q43、q53、 q63、q65、q89でクエリ 失敗 単位:秒
  14. 14. 14Copyright © 2014 NTT DATA Corporation 性能検証(4/4)  ベンチマーク結果(xlarge)  Parquet+Snappy:1.2TB、ORC+zlib:1TB  メモリに乗らないサイズ  全クエリ合計時間の速度比較(対Hive)  Impala:9.3倍  Presto:0.9倍(※成功したクエリのみ)  Tez:2.3倍 largeより遅い 安定した速度 0 2000 4000 6000 8000 10000 12000 14000 16000 Hive(ORC) Impala(Parquet) Presto(ORC) Hive on Tez(ORC) q3、q19、q42、q43、 q52、q53、q55、q63、 q89でクエリ失敗 Hiveより遅い 単位:秒
  15. 15. 15Copyright © 2014 NTT DATA Corporation 性能検証(まとめ)  ベンチマーク結果  対Hiveの速度比(サイズ別全クエリ平均)  Impara、Prestoは確かに速いが...  データサイズの増加に合わせて、パフォーマンスが劣化する(※後述)  Prestoは最小のデータサイズでのみ、パフォーマンスがよい  Hive on Tezはデータサイズによらず一定のパフォーマンスを発揮している 0.0倍 5.0倍 10.0倍 15.0倍 20.0倍 25.0倍 30.0倍 35.0倍 small medium large xlarge Hive Impala Presto Tez
  16. 16. Copyright © 2014 NTT DATA Corporation 16 リソース検証
  17. 17. 17Copyright © 2014 NTT DATA Corporation Impalaが遅くなるパターン  リソース利用状況(largeとxlargeのq59)  スワップが発生してパフォーマンスが劣化している  CPU、メモリ  100%使い切る。が、Impalaでは通常の動作  スワップ  largeとxlarge(メモリに乗り切らないサイズ)で発生する  HDD、ネットワークは問題なし xlargeのスワップlargeのスワップ xlargeのCPU xlargeのメモリ
  18. 18. 18Copyright © 2014 NTT DATA Corporation Prestoが極端に遅くなるパターン  リソース利用状況(medium、q65)  完全にリソースを使い切った場合はクエリが失敗するが、遅くなりながら完走する  CPU  使用率が10%から100%を上下する  ネットワーク  マスタのネットワークが3~5MB/秒を上下する  スレーブのネットワークは問題なし  メモリ、HDD、スワップは問題なし CPU使用率が乱 高下 マスタのネットワークが 乱高下
  19. 19. 19Copyright © 2014 NTT DATA Corporation  リソース利用状況(xlarge、q65)  small~xlargeまでCPU、メモリ、HDD、ネットワークをまんべんなく使う  CPU、メモリ  使用率は100%付近  HDD、ネットワーク  理論値の20~40%程度  ネットワークの負荷は終盤に集中 Hive on Tezはデータサイズによらない xlargeのCPU xlargeのメモリ xlargeのHDD xlargeのネットワーク
  20. 20. 20Copyright © 2014 NTT DATA Corporation まとめ  Impala、Presto、Hive on Tezを比較した  Impala  今回の検証結果では最もよい結果となった  データサイズが大きくなるとメモリに乗るサイズでも性能が落ちる  Impala 2.0の「spill to disk」に期待  Presto  今回は残念な結果となった  データサイズが総メモリ量を超えると動作しないクエリが出てくる  頻繁なアップデート(2週間に1回程度)があるので将来に期待  Hive on Tez  安定したパフォーマンスを発揮した  対障害性などHiveの特徴を引き継ぎながら、数倍の性能向上  ただ、データサイズが小さい時はもっと速くなってほしい  CBO(コストベースオプティマイザ)を有効にするなど、少しのチューニングで大きく伸 びるかも
  21. 21. Copyright © 2011 NTT DATA Corporation Copyright © 2014 NTT DATA Corporation お問い合わせ先: 株式会社NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス URL: http://oss.nttdata.co.jp/hadoop メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496

×