SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Evolution of Impala #hcj2014
Report
Cloudera Japan
Follow
Country Manager at Cloudera Japan
Jul. 8, 2014
•
0 likes
•
16,987 views
1
of
65
Evolution of Impala #hcj2014
Jul. 8, 2014
•
0 likes
•
16,987 views
Download Now
Download to read offline
Report
Technology
Hadoop Conference Japan 2014 で発表した、Impala の資料です。
Cloudera Japan
Follow
Country Manager at Cloudera Japan
Recommended
Impala 2.0 Update 日本語版 #impalajp
Cloudera Japan
3.8K views
•
35 slides
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Cloudera Japan
5.3K views
•
39 slides
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
Cloudera Japan
6.3K views
•
28 slides
Kuduを調べてみた #dogenzakalt
Toshihiro Suzuki
3.7K views
•
55 slides
HDFS Supportaiblity Improvements
Cloudera Japan
2.6K views
•
45 slides
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Sho Shimauchi
6.1K views
•
52 slides
More Related Content
What's hot
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
Koji Shinkubo
4.3K views
•
33 slides
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Cloudera Japan
23K views
•
110 slides
Cloudera Impalaをサービスに組み込むときに苦労した話
Yukinori Suda
6.4K views
•
17 slides
HDFS HA セミナー #hadoop
Cloudera Japan
12.4K views
•
67 slides
Impalaチューニングポイントベストプラクティス
Yahoo!デベロッパーネットワーク
6K views
•
35 slides
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
Hadoop / Spark Conference Japan
2.4K views
•
43 slides
What's hot
(20)
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
Koji Shinkubo
•
4.3K views
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Cloudera Japan
•
23K views
Cloudera Impalaをサービスに組み込むときに苦労した話
Yukinori Suda
•
6.4K views
HDFS HA セミナー #hadoop
Cloudera Japan
•
12.4K views
Impalaチューニングポイントベストプラクティス
Yahoo!デベロッパーネットワーク
•
6K views
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
Hadoop / Spark Conference Japan
•
2.4K views
HBaseサポート最前線 #hbase_ca
Cloudera Japan
•
3.6K views
HBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
Michio Katano
•
6.3K views
HBaseを用いたグラフDB「Hornet」の設計と運用
Toshihiro Suzuki
•
9.1K views
20190314 PGStrom Arrow_Fdw
Kohei KaiGai
•
3.9K views
Cloudera impalaの性能評価(Hiveとの比較)
Yukinori Suda
•
6.5K views
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
Cloudera Japan
•
9.8K views
HiveとImpalaのおいしいとこ取り
Yukinori Suda
•
4.7K views
CDH4.1オーバービュー
Cloudera Japan
•
5.6K views
Cloudera Manager 5 (hadoop運用) #cwt2013
Cloudera Japan
•
8.3K views
Hadoopのシステム設計・運用のポイント
Cloudera Japan
•
34.7K views
HBase at LINE
Shunsuke Nakamura
•
13.8K views
Apache Impalaパフォーマンスチューニング #dbts2018
Cloudera Japan
•
4.8K views
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
Hadoop / Spark Conference Japan
•
4.4K views
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Cloudera Japan
•
11.6K views
Similar to Evolution of Impala #hcj2014
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
Cloudera Japan
6K views
•
53 slides
Cloudera Impala Seminar Jan. 8 2013
Cloudera Japan
2.5K views
•
17 slides
Jjug springセッション
Yuichi Hasegawa
2.6K views
•
70 slides
20140518 JJUG MySQL Clsuter as NoSQL
Ryusuke Kajiyama
4.4K views
•
41 slides
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
MapR Technologies Japan
2.9K views
•
63 slides
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
1.3K views
•
68 slides
Similar to Evolution of Impala #hcj2014
(20)
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
Cloudera Japan
•
6K views
Cloudera Impala Seminar Jan. 8 2013
Cloudera Japan
•
2.5K views
Jjug springセッション
Yuichi Hasegawa
•
2.6K views
20140518 JJUG MySQL Clsuter as NoSQL
Ryusuke Kajiyama
•
4.4K views
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
MapR Technologies Japan
•
2.9K views
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
•
1.3K views
LINEのMySQL運用について
LINE Corporation
•
3.1K views
Open stack reference architecture v1 2
Dell TechCenter Japan
•
2K views
Datastax Enterpriseをはじめよう
Yuki Morishita
•
3.1K views
PHP開発者のためのNoSQL入門
じゅん なかざ
•
6.3K views
AWS Black Belt Techシリーズ AWS Data Pipeline
Amazon Web Services Japan
•
24.5K views
HBaseCon 2012 参加レポート
NTT DATA OSS Professional Services
•
2.4K views
Serverless analytics on aws
Amazon Web Services Japan
•
944 views
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR Technologies Japan
•
7.2K views
sparksql-hive-bench-by-nec-hwx-at-hcj16
Yifeng Jiang
•
10.5K views
Cloudera大阪セミナー 20130219
Cloudera Japan
•
1.1K views
Denali ctp3 always on availability groups 概要
Masayuki Ozawa
•
956 views
20111130 10 aws-meister-emr_long-public
Amazon Web Services Japan
•
2.3K views
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
Insight Technology, Inc.
•
586 views
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTT DATA OSS Professional Services
•
6.3K views
More from Cloudera Japan
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Cloudera Japan
3.2K views
•
67 slides
機械学習の定番プラットフォームSparkの紹介
Cloudera Japan
3.4K views
•
45 slides
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
Cloudera Japan
3K views
•
59 slides
HBase Across the World #LINE_DM
Cloudera Japan
1.9K views
•
45 slides
Cloudera のサポートエンジニアリング #supennight
Cloudera Japan
3.3K views
•
50 slides
Train, predict, serve: How to go into production your machine learning model
Cloudera Japan
3.9K views
•
41 slides
More from Cloudera Japan
(20)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Cloudera Japan
•
3.2K views
機械学習の定番プラットフォームSparkの紹介
Cloudera Japan
•
3.4K views
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
Cloudera Japan
•
3K views
HBase Across the World #LINE_DM
Cloudera Japan
•
1.9K views
Cloudera のサポートエンジニアリング #supennight
Cloudera Japan
•
3.3K views
Train, predict, serve: How to go into production your machine learning model
Cloudera Japan
•
3.9K views
Apache Kuduを使った分析システムの裏側
Cloudera Japan
•
8.5K views
Cloudera in the Cloud #CWT2017
Cloudera Japan
•
4.2K views
先行事例から学ぶ IoT / ビッグデータの始め方
Cloudera Japan
•
5.1K views
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Cloudera Japan
•
5.1K views
How to go into production your machine learning models? #CWT2017
Cloudera Japan
•
4.6K views
Apache Kudu - Updatable Analytical Storage #rakutentech
Cloudera Japan
•
7.5K views
Hue 4.0 / Hue Meetup Tokyo #huejp
Cloudera Japan
•
3.5K views
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Japan
•
3.7K views
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera Japan
•
3.1K views
Cloud Native Hadoop #cwt2016
Cloudera Japan
•
5.5K views
大規模データに対するデータサイエンスの進め方 #CWT2016
Cloudera Japan
•
19.5K views
#cwt2016 Apache Kudu 構成とテーブル設計
Cloudera Japan
•
10.2K views
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
Cloudera Japan
•
3K views
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Cloudera Japan
•
19.4K views
Recently uploaded
GraphQLはどんな時に使うか
Yutaka Tachibana
17 views
•
37 slides
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
45 views
•
38 slides
CatBoost on GPU のひみつ
Takuji Tahara
780 views
•
30 slides
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
6 views
•
1 slide
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
170 views
•
16 slides
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
11 views
•
24 slides
Recently uploaded
(13)
GraphQLはどんな時に使うか
Yutaka Tachibana
•
17 views
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
45 views
CatBoost on GPU のひみつ
Takuji Tahara
•
780 views
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
6 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
170 views
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
•
11 views
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
7 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
69 views
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
125 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
7 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
28 views
画像生成AIの問題点
iPride Co., Ltd.
•
13 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
149 views
Evolution of Impala #hcj2014
1.
1 Evolu(on of
Impala Sho Shimauchi, Cloudera 2014/07/08
2.
2 今日のトピック •
Cloudera Impala とは? • クエリ言語とユーザビリティ • メタデータ管理 • UDF • リソース管理 • アドミッションコントロール • YARN と Llama (ラマ) • セキュリティ (Apache Sentry) • パフォーマンスと最適化 • HDFS • Parquet • ロードマップ
3.
3 Who am
I? • 嶋内 翔(しまうち しょう) • プロアクティブサポートエンジニア • 2011年4月にClouderaの最初の日本人社員として入 社 • email: sho@cloudera.com • twiUer: @shiumachi
4.
4 Cloudera Impala
5.
5 Cloudera Impala
とは? • Hadoop クラスタのための MPP SQL クエリエンジン • ハードウェア性能を最大に引き出すためネイティブ コードで記述 • オープンソース • hUp://impala.io/ • Cloudera / MapR / Amazon がサポートを提供 • 歴史 • 2012/10 パブリックベータリリース • 2013/04 Impala 1.0 リリース • 現在のバージョンは Impala 1.3.1
6.
6 Impala は使うのが簡単
• HDFS や HBase 上のデータに対し、仮想的なビューと してテーブルを作成することができる • スキーマは Hive メタストアに保存 • ODBC / JDBC で接続可能 • Kerberos / LDAP で認証可能 • 標準SQLを実行可能 • ANSI SQL-‐92 ベース • SELECT とバルクインサートに限定 • 相関サブクエリは未実装 (Impala 2.0 で実装予定) • UDF / UDAF に対応
7.
7 Impala のアーキテクチャ
• 分散サービス • コンポーネント • impalad • statestore • catalogd • インタフェース • impala-‐shell • ODBC / JDBC
8.
8 impalad •
データのあるノード全てで動作する • どの impalad でもユーザからのクエリを受け付けるこ とが可能 • クエリを受け付ける impalad は、通常「コーディネータノー ド」と呼ばれる • コーディネータノードは、リモートの impalad 上での 計算処理を開始する
9.
9 statestore •
ステートリポジトリ • ネームサービス • クラスタ毎に1ノード • ソフトステート • 起動時に全ての impalad はstatestoreに登録する • impalad への接続が切れたとき、statestore はその情報を 他の impalad へ周知する • Impala サービスは statestore がなくても動作継続する
10.
10 catalogd (Impala
1.2) • Impala SQL からクラスタ内の全ノードにメタデータの 変更をリレーする • クラスタ毎に1ノード • 詳細は後述
11.
11 Impala のアーキテクチャ
HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase ODBC / JDBC SQL App クライアント・インタフェース メタデータ Hive Metastore HDFS NN State Store Catalogd
12.
12 Impala のアーキテクチャ
HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase ODBC / JDBC SQL App メタデータ Hive Metastore HDFS NN State Store Catalogd SQL リクエスト プランナーはプランフラグメン トの集合に変換する クライアント・インタフェース
13.
13 Impala のアーキテクチャ
HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase ODBC / JDBC SQL App メタデータ Hive Metastore HDFS NN State Store Catalogd コーディネータはリモートのimpalad上 での計算処理を開始する クライアント・インタフェース
14.
14 Impala のアーキテクチャ
HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase ODBC / JDBC SQL App メタデータ Hive Metastore HDFS NN State Store Catalogd HDFS ショートサーキットリードを使って ローカルダイレクトスキャン、その後計算処理を実行 (集約やハッシュJOINなど) クライアント・インタフェース
15.
15 Impala のアーキテクチャ
HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase ODBC / JDBC SQL App メタデータ Hive Metastore HDFS NN State Store Catalogd もしクエリが複雑なら、impaladは計算結果を互いに交 換し、他の計算処理を実行 中間結果はストリームで転送される クライアント・インタフェース
16.
16 Impala のアーキテクチャ
HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase HDFS DN Query Exec Engine Query Coordinator Query Planner HBase ODBC / JDBC SQL App HiveQLとインタフェース メタデータ Hive Metastore HDFS NN State Store Catalogd コーディネータは最後の計算を実行 し、クライアントに結果を返す
17.
17 クエリ計画 •
2フェーズプロセス • シングルノードプラン • クエリ演算子の lee deep tree • 分散並列処理のためにプランフラグメントに分割する • スキャンローカリティを最大化する • データの移動を最小化する
18.
18 クエリ計画 FRAGMENT
2 HDFS SCAN HASH JOIN AGGREGATION FRAGMENT 1 EXCHANGE AGGREGATION COORDINATOR FRAGMENT TOP-‐N EXCHANGE AGGREGATION
19.
19 クエリ実行 •
インメモリでの実行 • JOINの右側の入力をメモリにキャッシュし、結果を集約し ていく • 例: 1TB のテーブルを JOIN する。200列のうち2列を参照し、 行の10%を用いる • 1024 * (2 / 200) * 0.1 = 1GB を、全てのノード上のメモリにキャッ シュする必要がある • データはストリームで送信される • ディスクに書き出されることはない
20.
20 クエリ実行: ランタイムコード生成
• LLVMを使って、クエリのランタイム依存の部分をJITコ ンパイルする • クエリのカスタムコーディングと同じ効果がある • 分岐の削除 • 定数、オフセット、ポインタなどのプロパゲート • インライン関数呼び出し • 最近のCPUのための実行最適化(命令パイプライン)
21.
21 What’s new?
HCJ 2013 (2013/01/21) HCJ 2014 (2014/07/08) Impala 0.4 (Beta) DDL (CREATE, ALTER, etc.) No JOIN 最適化 No 分散 JOIN No UDF No JDBC ドライバ No カラムナファイル フォーマット RCFile
22.
22 What’s new?
HCJ 2013 (2013/01/21) HCJ 2014 (2014/07/08) Impala 0.4 (Beta) 1.3.1 DDL (CREATE, ALTER, etc.) No Yes JOIN 最適化 No Yes (コストベース) 分散 JOIN No Yes UDF No Yes (UDF / UDAF) JDBC ドライバ No Yes カラムナファイル フォーマット RCFile RCFile, Parquet
23.
23 クエリ言語とユーザビリティ
24.
24 メタデータ管理 •
catalogd (Impala 1.2) • Impala SQL からクラスタ内の全ノードにメタデータの変更をリ レーする • クラスタ毎に1ノード • DDL(CREATE や DROP TABLEなど)の後に、 REFRESH や INVALIDATE METADATA を実行する必要がなくなった • HiveでDDLを実行した場合は引き続き実行が必要 • INVALIDATE METADATA new_table_name (Impala 1.2.4) • INVALIDATE METADATA はコスト高の処理 • このクエリにより指定したテーブルだけに実行することが可能
25.
25 UDF (ユーザ定義関数)
• Impala 1.1 / 1.2 からの新機能 • UDF と UDAF をサポート • 以下のUDFを作成可能 • C++ でネイティブコードを書く • Java で書かれた Hive UDF をポートする • Python UDF も開発中! • hUps://github.com/cloudera/impyla IntVal AddUdf (UdfContext* context, const IntVal& arg1, const IntVal& arg2) { if (arg1.is_null || arg2.is_null) { return IntVal::null(); } return IntVal(arg1.val + arg2.val) }
26.
26 HBase 連携
• Impala は HBase のテーブルに対し SELECT や INSERT を実行可能 • ユースケース • 巨大なファクトテーブルをImpalaに持ち、より小さいディメンジョンテーブル をHBase で持つ • 高速にインクリメントされるカウンタをHBaseに保存する • 例: WebサイトのPVや、SNS の投稿での投票の数など • 非常に幅広い(そして通常は疎な)テーブルをHBaseで持つ • 例: オンラインサービスのユーザ情報 • 1行インサートも可能 • INSERT … VALUES Impala HBase external systems put SELECT * FROM hbase_tbl … INSERT / INSERT … VALUES get, scan
27.
27 リソース管理
28.
28 アドミッションコントロール (Impala
1.3) • 高速・軽量なリソース管理機構 • 並列ワークロードに対するリソースの過剰利用を避 ける • 設定した限界値を超えたらクエリはキューイングされる • 全 impalad で動作 • SPOF なし
29.
29 アドミッションコントロール (Impala
1.3) • 設定可能なリソースプール • クエリの最大並列実行数 • キューの最大長 • プールのメモリ総量 • 設定方法は2通り • Cloudera Manager の「動的リソースプール」 • fair-‐scheduler.xml と llama-‐site.xml を手動編集する
30.
30 アドミッションコントロールの例 並列実行可能な
クエリ数 クエリキューの 最大長 100 10 10 1 最大メモリ 1000 GB 100 GB Group A Group B
31.
31 アドミッションコントロール (Impala
1.3) • 制限は「ソフトリミット」 • 実行可能クエリ数の最大値を少しだけオーバーすること がある • クエリを statestore のハートビート間隔(500ms)より速い間 隔で送信していると発生する可能性がある
32.
32 YARN と
Llama (ラマ) • Llama: Low Latency Applica(on MAster • 低レイテンシ・短寿命のクエリで用いるために、粒度 の粗いYARNのスケジューリングをよりきめ細かくする • YARNプールごとに長寿命のAMを登録する • YARNから割り当てられたリソースを短時間キャッシュ する • Impala クエリに高速に再割り当てする • YARN を待つよりもはるかに高速 • Impala 1.3 ではベータ版 • Produc(on Ready in Impala 1.4
33.
33 セキュリティ
34.
34 34 Apache
Sentry • Apache Incubatorプロジェクト • オープンソースで開発 • Oracle社やCloudera社が主導 • データベース、テーブル、ビュー、列/行 の粒度でアクセス制御 • HiveやImpalaなど幅広いHadoop エコシステムで利用可能
35.
35 パフォーマンスと最適化
36.
36 HDFS ショートサーキットリード
• ローカルディスクから読み込むときにデータノードのプロ トコルをバイパスする • ディスクあたり 100+ MB / s の読み込み性能を出せる Impalad DataNode OS
37.
37 HDFS キャッシング
• メモリ常駐データへのゼロオーバヘッドアクセス • チェックサム計算とデータコピーを回避する • 新しい HDFS API が CDH5.0 で導入された • Impala DDL でキャッシュ指定することが可能 (Impala 1.4) • CREATE TABLE tbl_name CACHED IN ‘<pool>’ • ALTER TABLE tbl_name ADD PARTITION … CACHED IN ‘<pool>’
38.
38 Parquet •
Hadoop 用カラムナストレージ • 多くの Hadoop エコシステムがサポートしている • Impala, Hive, Pig, MapReduce, Cascading • 高圧縮かつ高スキャン効率 • TwiUer と Cloudera の共同開発 • 2014年5月にApache インキュベータプロジェクトに なった • hUp://incubator.apache.org/projects/parquet.html • 現在のプロジェクトページ: hUp://parquet.io/
39.
39 Parquet のアーキテクチャ
a b c a1 b1 c1 a2 b2 c2 a3 b3 c3 a4 b4 c4 a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4 Row Group column chunk column chunk column chunk
40.
40 Parquet: ストレージ効率
41.
41 Parquet: スキャン効率
42.
42 COMPUTE STATS
(Impala 1.2.2) • テーブルや列の統計情報を収集し、メタストアに保存 する • ETL処理の終わりには必ず COMPUTE STATS を実行 しましょう • コストベースのJOIN順序の最適化 • JOINクエリの性能改善とメモリ使用量削減 • ParquetテーブルへのINSERTの性能改善とメモリ使用量削 減 • Impala 1.4 では COMPUTE STATS 自体が高速化
43.
43 Impala ベンチマーク
• TPC-‐DS を使ったベンチマーク • 21種類のクエリ • 15TB スケールファクタ―データセット • 21ノードクラスタ • Impala で TPC-‐DS を試したい人は以下のツールを使 うと楽 • hUps://github.com/cloudera/impala-‐tpcds-‐kit
44.
44 Impala ベンチマーク
Hardware # of nodes 21 CPU Intel Xeon CPU E5-‐2630L 0 at 2.00GHz 2 processors 12 cores disk 12 disks 932GB each OS: 1 disk HDFS: 11 disks memory 348GB So>ware Impala 1.3 Hive-‐on-‐Tez 13.0 Shark (RDD) 0.9.2 Shark (HDFS) 0.9.2 Presto 0.60
45.
45 Impala ベンチマーク:
シングルユーザ • クエリをグルー プ分けして幾何 平均をとった • インタラクティ ブ • レポート • 高度な分析 • Impala は次点の Sharkに比べて約5倍 高速
46.
46 Impala ベンチマーク:
シングルユーザ • クエリをグルー プ分けして幾何 平均をとった • インタラクティ ブ • レポート • 高度な分析 • Impala は次点の Sharkに比べて約5倍 高速 17 34 62 49 193 327 Shark / ORC (HDFS) Impala
47.
47 Impala ベンチマーク:
マルチユーザ • 10並列のクエリ • 「インタラク ティブ」クエリ • 10ユーザでの並 列クエリだと ImpalaはPrestoよ り19.1倍高速
48.
48 Impala ベンチマーク:
マルチユーザ • 10並列のクエリ • 「インタラク ティブ」クエリ • 10ユーザでの並 列クエリだと ImpalaはPrestoよ り19.1倍高速 Impala 1クエリ: 15 10並列: 29 Presto 1クエリ: 64 10並列: 555
49.
49 Impala ベンチマーク:
マルチユーザ
50.
50 Impala ベンチマーク:
マルチユーザ x21.6 beCer than Presto Impala: 863 Presto: 40
51.
51 Impala ベンチマーク:
マルチユーザ
52.
52 Impala ベンチマーク:
マルチユーザ Impala 81秒 Presto 1858秒
53.
53 Impala ベンチマーク:
vs. DBMS-‐Y
54.
54 Hadoopにおけるスケーラビリティ • Hadoopにはリニアスケーラビリティがある
• クラスタにノードを追加すれば、それに比 例して性能が向上する • 性能増はあらゆるワークロードに適用され る • EDWワークロードにおける評価指標 • レスポンスタイム • 並列性とクエリスループット • データサイズ
55.
55 Hadoopにおけるスケーラビリティ •
Impalaのスケーラビリティ評価結果 • クラスタ: 18 ノードと 36 ノード • データセット: 15TB と 30TB の TPC-‐DS データセット • クエリ: 6種類の「インタラクティブ」TPC-‐DSクエリ • 並列性: 10 クエリと 20 クエリ (並列性以外のテストでは 1 クエリ)
56.
56 Impala のスケーラビリティ:
レスポンスタイ ム
57.
57 Impala のスケーラビリティ:
並列性 (10 vs. 20 ユーザ)
58.
58 Impala のスケーラビリティ:
データサイズ (15TB vs. 30TB データセット)
59.
59 ロードマップ
60.
60 ロードマップ •
Impala 1.4 (2014年夏) • HDFS キャッシング DDL • COMPUTE STATS の高速化 • LIMIT なしの ORDER BY • DECIMAL(<precision>, <scale>) • ブロードキャストJOIN用のブルームフィルタ • Llama が produc(on ready になる • EDW システム用の追加のビルトイン • そして……さらに高速化!
61.
61 ロードマップ •
Impala 2.0 (2014年下半期) • SQL 2003 準拠の分析ウィンドウ関数 • LEAD(), LAG(), etc. • 相関サブクエリ • ハッシュテーブルをディスクに書き出せるようになる • 任意のサイズのテーブルをJOIN、集約することが可能に • Nested data type • map, struct, and array
62.
62 まとめ
63.
63 Cloudera Impala
• Hadoop クラスタのためのオープンソースの高速SQL エンジン • 他の類似ソフトに比べて圧倒的に高速 • リソース管理、セキュリティなど機能も豊富 Hadoop上の分析SQLエンジンは Cloudera Impala を使いましょう hUp://impala.io/
64.
64 Cloudera Impala
の⽇日本語フリーブック • オライリーの「インパラ本」、日本語PDF版が無償公開されました! • http://www.oreilly.co.jp/books/9784873116723/ • Cloudera の John Russell 著 • Hadoop、HBase、Hadoopオペレーション、 プログラミングHiveなどを翻訳された 玉川竜司さんが翻訳! 「これまでClouderaの皆 さんにご尽力いただいた 翻訳レビューへの感謝の 気持ちとして、Cloudera World Tokyo開催のお祝 いに翻訳寄贈します!」
65.
65