SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
1	
  
Evolu(on	
  of	
  Impala	
  
Sho	
  Shimauchi,	
  Cloudera	
  
2014/07/08	
  
2	
  
今日のトピック	
  
•  Cloudera	
  Impala	
  とは?	
  
•  クエリ言語とユーザビリティ	
  
•  メタデータ管理	
  
•  UDF	
  
•  リソース管理	
  
•  アドミッションコントロール	
  
•  YARN	
  と	
  Llama	
  (ラマ)	
  
•  セキュリティ	
  (Apache	
  Sentry)	
  
•  パフォーマンスと最適化	
  
•  HDFS	
  
•  Parquet	
  
•  ロードマップ	
  
3	
  
Who	
  am	
  I?	
  
•  嶋内 翔(しまうち しょう)	
  
•  プロアクティブサポートエンジニア	
  
•  2011年4月にClouderaの最初の日本人社員として入
社	
  
•  email:	
  sho@cloudera.com	
  
•  twiUer:	
  @shiumachi	
  
4	
  
Cloudera	
  Impala	
  
5	
  
Cloudera	
  Impala	
  とは?	
  
•  Hadoop	
  クラスタのための	
  MPP	
  SQL	
  クエリエンジン	
  
•  ハードウェア性能を最大に引き出すためネイティブ
コードで記述	
  
•  オープンソース	
  
•  hUp://impala.io/	
  
•  Cloudera	
  /	
  MapR	
  /	
  Amazon	
  がサポートを提供	
  
•  歴史	
  
•  2012/10	
  パブリックベータリリース	
  
•  2013/04	
  Impala	
  1.0	
  リリース	
  
•  現在のバージョンは	
  Impala	
  1.3.1	
  
6	
  
Impala	
  は使うのが簡単	
  
•  HDFS	
  や HBase	
  上のデータに対し、仮想的なビューと
してテーブルを作成することができる	
  
•  スキーマは	
  Hive	
  メタストアに保存	
  
•  ODBC	
  /	
  JDBC	
  で接続可能	
  
•  Kerberos	
  /	
  LDAP	
  で認証可能	
  
•  標準SQLを実行可能	
  
•  ANSI	
  SQL-­‐92	
  ベース	
  
•  SELECT	
  とバルクインサートに限定	
  
•  相関サブクエリは未実装	
  (Impala	
  2.0	
  で実装予定)	
  
•  UDF	
  /	
  UDAF	
  に対応	
  
7	
  
Impala	
  のアーキテクチャ	
  
•  分散サービス	
  
•  コンポーネント	
  
•  impalad	
  
•  statestore	
  
•  catalogd	
  
•  インタフェース	
  
•  impala-­‐shell	
  
•  ODBC	
  /	
  JDBC	
  
8	
  
impalad	
  
•  データのあるノード全てで動作する	
  
•  どの impalad	
  でもユーザからのクエリを受け付けるこ
とが可能	
  
•  クエリを受け付ける impalad	
  は、通常「コーディネータノー
ド」と呼ばれる	
  
•  コーディネータノードは、リモートの impalad	
  上での
計算処理を開始する	
  
9	
  
statestore	
  
•  ステートリポジトリ	
  
•  ネームサービス	
  
•  クラスタ毎に1ノード	
  
•  ソフトステート	
  
•  起動時に全ての impalad	
  はstatestoreに登録する	
  
•  impalad	
  への接続が切れたとき、statestore	
  はその情報を
他の impalad	
  へ周知する	
  
•  Impala	
  サービスは statestore	
  がなくても動作継続する	
  
10	
  
catalogd	
  (Impala	
  1.2)	
  
•  Impala	
  SQL	
  からクラスタ内の全ノードにメタデータの
変更をリレーする	
  
•  クラスタ毎に1ノード	
  
•  詳細は後述	
  
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	
  
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	
  
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	
  
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	
  
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	
  
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	
  
クエリ計画	
  
•  2フェーズプロセス	
  
•  シングルノードプラン	
  
•  クエリ演算子の	
  lee	
  deep	
  tree	
  
•  分散並列処理のためにプランフラグメントに分割する	
  
•  スキャンローカリティを最大化する	
  
•  データの移動を最小化する	
  
18	
  
クエリ計画	
  
FRAGMENT	
  2	
  
HDFS	
  SCAN	
  
HASH	
  JOIN	
  
AGGREGATION	
  
FRAGMENT	
  1	
  
EXCHANGE	
  
AGGREGATION	
  
COORDINATOR	
  
FRAGMENT	
  
TOP-­‐N	
  
EXCHANGE	
  
AGGREGATION	
  
19	
  
クエリ実行	
  
•  インメモリでの実行	
  
•  JOINの右側の入力をメモリにキャッシュし、結果を集約し
ていく	
  
•  例:	
  1TB	
  のテーブルを	
  JOIN	
  する。200列のうち2列を参照し、
行の10%を用いる	
  
•  1024	
  *	
  (2	
  /	
  200)	
  *	
  0.1	
  =	
  1GB	
  を、全てのノード上のメモリにキャッ
シュする必要がある	
  
•  データはストリームで送信される	
  
•  ディスクに書き出されることはない	
  
20	
  
クエリ実行:	
  ランタイムコード生成	
  
•  LLVMを使って、クエリのランタイム依存の部分をJITコ
ンパイルする	
  
•  クエリのカスタムコーディングと同じ効果がある	
  
•  分岐の削除	
  
•  定数、オフセット、ポインタなどのプロパゲート	
  
•  インライン関数呼び出し	
  
•  最近のCPUのための実行最適化(命令パイプライン)	
  
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	
  
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	
  
クエリ言語とユーザビリティ	
  
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	
  
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	
  
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	
  
リソース管理	
  
28	
  
アドミッションコントロール	
  (Impala	
  1.3)	
  
•  高速・軽量なリソース管理機構	
  
•  並列ワークロードに対するリソースの過剰利用を避
ける	
  
•  設定した限界値を超えたらクエリはキューイングされる	
  
•  全 impalad	
  で動作	
  
•  SPOF	
  なし	
  
29	
  
アドミッションコントロール (Impala	
  1.3)	
  
•  設定可能なリソースプール	
  
•  クエリの最大並列実行数	
  
•  キューの最大長	
  
•  プールのメモリ総量	
  
•  設定方法は2通り	
  
•  Cloudera	
  Manager	
  の「動的リソースプール」	
  
•  fair-­‐scheduler.xml	
  と	
  llama-­‐site.xml	
  を手動編集する	
  
30	
  
アドミッションコントロールの例	
  
並列実行可能な	
  
クエリ数	
  
クエリキューの	
  
最大長	
  
100	
   10	
  
10	
   1	
  
最大メモリ	
  
1000	
  GB	
  
100	
  GB	
  
Group	
  A	
  
Group	
  B	
  
31	
  
アドミッションコントロール (Impala	
  1.3)	
  
•  制限は「ソフトリミット」	
  
•  実行可能クエリ数の最大値を少しだけオーバーすること
がある	
  
•  クエリを statestore	
  のハートビート間隔(500ms)より速い間
隔で送信していると発生する可能性がある	
  
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	
  
セキュリティ	
  
34	
  34	
  
Apache	
  Sentry	
  
•  Apache	
  Incubatorプロジェクト	
  
•  オープンソースで開発	
  
•  Oracle社やCloudera社が主導	
  
•  データベース、テーブル、ビュー、列/行	
  
の粒度でアクセス制御	
  
•  HiveやImpalaなど幅広いHadoop	
  
エコシステムで利用可能	
  
35	
  
パフォーマンスと最適化	
  
36	
  
HDFS	
  ショートサーキットリード	
  
•  ローカルディスクから読み込むときにデータノードのプロ
トコルをバイパスする	
  
•  ディスクあたり 100+	
  MB	
  /	
  s	
  の読み込み性能を出せる 	
  
Impalad	
  
DataNode	
   OS	
  
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	
  
Parquet	
  
•  Hadoop	
  用カラムナストレージ	
  
•  多くの Hadoop	
  エコシステムがサポートしている	
  
•  Impala,	
  Hive,	
  Pig,	
  MapReduce,	
  Cascading	
  
•  高圧縮かつ高スキャン効率	
  
•  TwiUer	
  と	
  Cloudera	
  の共同開発	
  
•  2014年5月にApache	
  インキュベータプロジェクトに
なった	
  
•  hUp://incubator.apache.org/projects/parquet.html	
  
•  現在のプロジェクトページ:	
  hUp://parquet.io/	
  
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	
  
Parquet:	
  ストレージ効率	
  
41	
  
Parquet:	
  スキャン効率	
  
42	
  
COMPUTE	
  STATS	
  (Impala	
  1.2.2)	
  
•  テーブルや列の統計情報を収集し、メタストアに保存
する	
  
•  ETL処理の終わりには必ず	
  COMPUTE	
  STATS	
  を実行
しましょう	
  
•  コストベースのJOIN順序の最適化	
  
•  JOINクエリの性能改善とメモリ使用量削減	
  
•  ParquetテーブルへのINSERTの性能改善とメモリ使用量削
減	
  
•  Impala	
  1.4	
  では	
  COMPUTE	
  STATS	
  自体が高速化	
  
43	
  
Impala	
  ベンチマーク	
  
•  TPC-­‐DS	
  を使ったベンチマーク	
  
•  21種類のクエリ	
  
•  15TB	
  スケールファクタ―データセット	
  
•  21ノードクラスタ	
  
•  Impala	
  で	
  TPC-­‐DS	
  を試したい人は以下のツールを使
うと楽	
  
•  hUps://github.com/cloudera/impala-­‐tpcds-­‐kit	
  
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	
  
Impala	
  ベンチマーク:	
  シングルユーザ	
  
•  クエリをグルー
プ分けして幾何
平均をとった	
  
•  インタラクティ
ブ	
  	
  
•  レポート	
  
•  高度な分析	
  
•  Impala	
  は次点の
Sharkに比べて約5倍
高速	
  
46	
  
Impala	
  ベンチマーク:	
  シングルユーザ	
  
•  クエリをグルー
プ分けして幾何
平均をとった	
  
•  インタラクティ
ブ	
  	
  
•  レポート	
  
•  高度な分析	
  
•  Impala	
  は次点の
Sharkに比べて約5倍
高速	
  
17	
   34	
   62	
  
49	
  
193	
  
327	
  
Shark	
  /	
  ORC	
  (HDFS)	
  
Impala	
  
47	
  
Impala	
  ベンチマーク:	
  マルチユーザ	
  
•  10並列のクエリ	
  
•  「インタラク
ティブ」クエリ	
  
•  10ユーザでの並
列クエリだと
ImpalaはPrestoよ
り19.1倍高速	
  
48	
  
Impala	
  ベンチマーク:	
  マルチユーザ	
  
•  10並列のクエリ	
  
•  「インタラク
ティブ」クエリ	
  
•  10ユーザでの並
列クエリだと
ImpalaはPrestoよ
り19.1倍高速	
  
Impala	
  
1クエリ:	
  	
  15	
  
10並列:	
  	
  29	
  
Presto	
  
1クエリ:	
  64	
  
10並列:	
  555	
  
49	
  
Impala	
  ベンチマーク:	
  マルチユーザ	
  
50	
  
Impala	
  ベンチマーク:	
  マルチユーザ	
  
x21.6	
  beCer	
  than	
  
Presto	
  	
  
Impala:	
  863	
  
Presto:	
  40	
  
51	
  
Impala	
  ベンチマーク:	
  マルチユーザ	
  
52	
  
Impala	
  ベンチマーク:	
  マルチユーザ	
  
Impala	
  
81秒	
  
Presto	
  
1858秒	
  
53	
  
Impala	
  ベンチマーク:	
  vs.	
  DBMS-­‐Y	
  
54	
  
Hadoopにおけるスケーラビリティ	
  
• Hadoopにはリニアスケーラビリティがある	
  
•  クラスタにノードを追加すれば、それに比
例して性能が向上する	
  
•  性能増はあらゆるワークロードに適用され
る	
  
• EDWワークロードにおける評価指標	
  
•  レスポンスタイム	
  
•  並列性とクエリスループット	
  
•  データサイズ 	
  
55	
  
Hadoopにおけるスケーラビリティ	
  
•  Impalaのスケーラビリティ評価結果	
  
•  クラスタ:	
  18	
  ノードと	
  36	
  ノード	
  
•  データセット:	
  15TB	
  と	
  30TB	
  の	
  TPC-­‐DS	
  データセット	
  
•  クエリ:	
  6種類の「インタラクティブ」TPC-­‐DSクエリ	
  
•  並列性:	
  10	
  クエリと 20	
  クエリ	
  (並列性以外のテストでは 1
クエリ)	
  
56	
  
Impala	
  のスケーラビリティ:	
  レスポンスタイ
ム	
  
57	
  
Impala	
  のスケーラビリティ:	
  並列性	
  
(10	
  vs.	
  20	
  ユーザ)	
  
58	
  
Impala	
  のスケーラビリティ:	
  データサイズ	
  
(15TB	
  vs.	
  30TB	
  データセット)	
  
59	
  
ロードマップ	
  
60	
  
ロードマップ	
  
•  Impala	
  1.4	
  (2014年夏)	
  
•  HDFS	
  キャッシング	
  DDL	
  
•  COMPUTE	
  STATS	
  の高速化	
  
•  LIMIT	
  なしの ORDER	
  BY	
  
•  DECIMAL(<precision>,	
  <scale>)	
  
•  ブロードキャストJOIN用のブルームフィルタ	
  
•  Llama	
  が	
  produc(on	
  ready	
  になる	
  
•  EDW	
  システム用の追加のビルトイン	
  
•  そして……さらに高速化!	
  
61	
  
ロードマップ	
  
•  Impala	
  2.0	
  (2014年下半期)	
  
•  SQL	
  2003	
  準拠の分析ウィンドウ関数	
  
•  LEAD(),	
  LAG(),	
  etc.	
  
•  相関サブクエリ 	
  
•  ハッシュテーブルをディスクに書き出せるようになる	
  
•  任意のサイズのテーブルをJOIN、集約することが可能に	
  
•  Nested	
  data	
  type	
  
•  map,	
  struct,	
  and	
  array	
  
62	
  
まとめ	
  
63	
  
Cloudera	
  Impala	
  
•  Hadoop	
  クラスタのためのオープンソースの高速SQL
エンジン	
  
•  他の類似ソフトに比べて圧倒的に高速	
  
•  リソース管理、セキュリティなど機能も豊富	
  
Hadoop上の分析SQLエンジンは	
  
Cloudera	
  Impala	
  を使いましょう	
  
hUp://impala.io/	
  
64	
  
Cloudera  Impala  の⽇日本語フリーブック
•  オライリーの「インパラ本」、日本語PDF版が無償公開されました!
•  http://www.oreilly.co.jp/books/9784873116723/
•  Cloudera  の John  Russell  著
•  Hadoop、HBase、Hadoopオペレーション、
プログラミングHiveなどを翻訳された
玉川竜司さんが翻訳!
「これまでClouderaの皆
さんにご尽力いただいた
翻訳レビューへの感謝の
気持ちとして、Cloudera
World Tokyo開催のお祝
いに翻訳寄贈します!」
65	
  

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Cloudera Japan
 
Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Yukinori Suda
 
HDFS HA セミナー #hadoop
HDFS HA セミナー #hadoopHDFS HA セミナー #hadoop
HDFS HA セミナー #hadoopCloudera Japan
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best PracticeHadoop / Spark Conference Japan
 
HBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_caHBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_caCloudera Japan
 
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015SummerHBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015SummerMichio Katano
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用Toshihiro Suzuki
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_FdwKohei KaiGai
 
Cloudera impalaの性能評価(Hiveとの比較)
Cloudera impalaの性能評価(Hiveとの比較)Cloudera impalaの性能評価(Hiveとの比較)
Cloudera impalaの性能評価(Hiveとの比較)Yukinori Suda
 
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015Cloudera Japan
 
HiveとImpalaのおいしいとこ取り
HiveとImpalaのおいしいとこ取りHiveとImpalaのおいしいとこ取り
HiveとImpalaのおいしいとこ取りYukinori Suda
 
CDH4.1オーバービュー
CDH4.1オーバービューCDH4.1オーバービュー
CDH4.1オーバービューCloudera Japan
 
Cloudera Manager 5 (hadoop運用) #cwt2013
Cloudera Manager 5 (hadoop運用)  #cwt2013Cloudera Manager 5 (hadoop運用)  #cwt2013
Cloudera Manager 5 (hadoop運用) #cwt2013Cloudera Japan
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントCloudera Japan
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Cloudera Japan
 
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
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Cloudera Japan
 

Was ist angesagt? (20)

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における真のパフォーマンスとは
 
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
 
Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話
 
HDFS HA セミナー #hadoop
HDFS HA セミナー #hadoopHDFS HA セミナー #hadoop
HDFS HA セミナー #hadoop
 
Impalaチューニングポイントベストプラクティス
ImpalaチューニングポイントベストプラクティスImpalaチューニングポイントベストプラクティス
Impalaチューニングポイントベストプラクティス
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 
HBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_caHBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_ca
 
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015SummerHBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
 
Cloudera impalaの性能評価(Hiveとの比較)
Cloudera impalaの性能評価(Hiveとの比較)Cloudera impalaの性能評価(Hiveとの比較)
Cloudera impalaの性能評価(Hiveとの比較)
 
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
 
HiveとImpalaのおいしいとこ取り
HiveとImpalaのおいしいとこ取りHiveとImpalaのおいしいとこ取り
HiveとImpalaのおいしいとこ取り
 
CDH4.1オーバービュー
CDH4.1オーバービューCDH4.1オーバービュー
CDH4.1オーバービュー
 
Cloudera Manager 5 (hadoop運用) #cwt2013
Cloudera Manager 5 (hadoop運用)  #cwt2013Cloudera Manager 5 (hadoop運用)  #cwt2013
Cloudera Manager 5 (hadoop運用) #cwt2013
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイント
 
HBase at LINE
HBase at LINEHBase at LINE
HBase at LINE
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
 
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講演)
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 

Ähnlich wie Evolution of Impala #hcj2014

基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015Cloudera Japan
 
Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013Cloudera Japan
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッションYuichi Hasegawa
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQLRyusuke Kajiyama
 
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15MapR Technologies Japan
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門Daiyu Hatakeyama
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用についてLINE Corporation
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2Dell TechCenter Japan
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようYuki Morishita
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門じゅん なかざ
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data PipelineAmazon Web Services Japan
 
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12MapR Technologies Japan
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16Yifeng Jiang
 
Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera Japan
 
Denali ctp3 always on availability groups 概要
Denali ctp3 always on  availability groups 概要Denali ctp3 always on  availability groups 概要
Denali ctp3 always on availability groups 概要Masayuki Ozawa
 
[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.
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTT DATA OSS Professional Services
 

Ähnlich wie Evolution of Impala #hcj2014 (20)

基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
 
Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax Enterpriseをはじめよう
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
 
HBaseCon 2012 参加レポート
HBaseCon 2012 参加レポートHBaseCon 2012 参加レポート
HBaseCon 2012 参加レポート
 
Serverless analytics on aws
Serverless analytics on awsServerless analytics on aws
Serverless analytics on aws
 
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
 
Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219
 
Denali ctp3 always on availability groups 概要
Denali ctp3 always on  availability groups 概要Denali ctp3 always on  availability groups 概要
Denali ctp3 always on availability groups 概要
 
20111130 10 aws-meister-emr_long-public
20111130 10 aws-meister-emr_long-public20111130 10 aws-meister-emr_long-public
20111130 10 aws-meister-emr_long-public
 
[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 株式会社インサイトテ...
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 

Mehr von Cloudera Japan

Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Cloudera Japan
 
機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介Cloudera Japan
 
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とはCloudera Japan
 
HBase Across the World #LINE_DM
HBase Across the World #LINE_DMHBase Across the World #LINE_DM
HBase Across the World #LINE_DMCloudera Japan
 
Cloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera Japan
 
Train, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelTrain, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelCloudera Japan
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Cloudera Japan
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera Japan
 
先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方Cloudera Japan
 
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Cloudera Japan
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017Cloudera Japan
 
Apache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechApache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechCloudera Japan
 
Hue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpHue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpCloudera Japan
 
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Japan
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera Japan
 
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloudera Japan
 
大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016Cloudera Japan
 
#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計Cloudera Japan
 
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング #cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング Cloudera Japan
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSCloudera Japan
 

Mehr von Cloudera Japan (20)

Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 
機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介
 
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
 
HBase Across the World #LINE_DM
HBase Across the World #LINE_DMHBase Across the World #LINE_DM
HBase Across the World #LINE_DM
 
Cloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennight
 
Train, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelTrain, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning model
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017
 
先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方
 
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017
 
Apache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechApache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentech
 
Hue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpHue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejp
 
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
 
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016
 
大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016
 
#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計
 
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング #cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
 

Kürzlich hochgeladen

20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Kürzlich hochgeladen (11)

What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 

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  
  • 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  
  • 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  
  • 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  
  • 34. 34  34   Apache  Sentry   •  Apache  Incubatorプロジェクト   •  オープンソースで開発   •  Oracle社やCloudera社が主導   •  データベース、テーブル、ビュー、列/行   の粒度でアクセス制御   •  HiveやImpalaなど幅広いHadoop   エコシステムで利用可能  
  • 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  
  • 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  データセット)  
  • 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  
  • 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