SlideShare a Scribd company logo
1 of 39
Download to read offline
Cloudera Impala

低レイテンシクエリエンジン	
      2012/11/24	
  
      @shiumachi	
  
アジェンダ	
  
•    Impalaとは	
  
•    Hadoop、Hive、そしてImpala	
  
•    どれくらい速いの?	
  
•    Impala	
  と	
  Hive	
  の違い	
  
お前誰よ?	
  
•  Sho	
  Shimauchi	
  	
  (	
  @shiumachi	
  )	
  
•  Cloudera	
  の問い合わせ担当	
  
•  現在仕事中です(今ここでしゃべるために20
   分だけ会議から抜けてきた)	
  
Impala	
  
•  Cloudera	
  が開発したオープンソースの低レイテ
   ンシ・分析特化型クエリ実行基盤	
  
•  Google	
  Dremel,	
  Google	
  F1	
  などにインスパイアさ
   れて開発された	
  
  –  Impala	
  作者の	
  Marcel	
  Kornacker	
  は	
  Google	
  F1	
  の開
     発エンジニア	
  	
  
•  データサイエンティストが使うことを想定している	
  
  –  あれこれと試行錯誤するときに、すぐに結果がほしい	
  
  –  分析用途:読み込みのみで書き込み処理は基本的に
     不要	
  
なぜImpalaが開発されたのか?	
  
•  Hadoop	
  (MapReduce)	
  だと高レイテンシで、す
   ぐに結果が欲しくても処理に時間がかかる	
  
•  Hive	
  のように手軽に使えるSQLのインタフェー
   スを持ち、かつ低レイテンシのエンジンが必
   要になった	
  



   そもそもHadoop/MapReduce/Hive	
  
          って何?	
  
Apache	
  MapReduce	
  とは?	
  
•  バッチ処理を分散して行うシステム	
  
•  Hadoop	
  のコアコンポーネントの一つ	
  
•  フレームワークの中で処理の信頼性を担保して
   いるので、開発者はアプリケーションロジックの
   みに集中してコードを書ける	
  
•  MR	
  が提供するもの	
  
 –  処理の並列化	
  
 –  耐障害性	
  
 –  ジョブ監視のための基盤	
  
 –  開発者のための抽象化されたインタフェース(map	
  +	
  
    reduce)	
  
MapReduce(1)	
  Map処理	
  
商品	
      価格	
  
                       Mapper	
     りんご,	
  100	
  
りんご	
     100	
  
                                    みかん,	
  200	
  
みかん	
     200	
  
                                    ぶどう,	
  300	
  
ぶどう	
     300	
  

                       Mapper	
  
                        入力データに対して計算処理し、<キー,	
  値>の形
                                式に変換する	
  
                          ここでの処理は「何もせずそのまま出力」	
  
    HDFS上のデータ	
  
複数のブロックに分割されていて        Mapper	
  
 も、分割されたまま実行可能	
  
MapReduce(1)	
  Map処理	
  
     他のMapperでも同様に実行	
     Mapper	
     りんご,	
  100	
  
    このMapperは同一サーバで複
      数稼働しても構わない	
                      みかん,	
  200	
  
                                        ぶどう,	
  300	
  

商品	
      価格	
  
りんご	
     200	
            Mapper	
     りんご,	
  200	
  
なし	
      400	
                          なし,	
  400	
  
いちご	
     100	
                         いちご,	
  100	
  
商品	
      価格	
  
りんご	
     300	
            Mapper	
     りんご,	
  300	
  
みかん	
     400	
  
                                        みかん,	
  400	
  
なし	
      100	
  
                                         なし,	
  100	
  
MapReduce(2)	
  Shuffle処理	
  
Mapper	
     りんご,	
  100	
  
                                                    Reducer	
  
             みかん,	
  200	
  
                                りんご,	
  [100,	
  200,	
  300]	
  
             ぶどう,	
  300	
  

                               Map出力の中で同じキーを持つデー
Mapper	
     りんご,	
  200	
      タは一ヶ所のReducerにまとめる	
  
                               この時点ではまとめるだけで計算は
              なし,	
  400	
  
                                      しない	
  
             いちご,	
  100	
                          Reducer	
  
Mapper	
     りんご,	
  300	
  
             みかん,	
  400	
  
              なし,	
  100	
  
MapReduce(2)	
  Shuffle処理	
  
                                   他のデータも同様に処理	
  
Mapper	
     りんご,	
  100	
         Reducerは複数でもいい	
  
                                                 Reducer	
  
                               Reducerを実行しないケースもある	
  
             みかん,	
  200	
  
                               りんご,	
  [100,	
  200,	
  300]	
  
             ぶどう,	
  300	
  
                                みかん,	
  [200,	
  300]	
  
                                   ぶどう,	
  [300]	
  
Mapper	
     りんご,	
  200	
  
              なし,	
  400	
  
             いちご,	
  100	
                       Reducer	
  
                                  なし,	
  [400,	
  100]	
  
Mapper	
     りんご,	
  300	
  
                                   いちご,	
  [100]	
  
             みかん,	
  400	
  
              なし,	
  100	
  
MapReduce(3)	
  Reduce処理	
  
                                    Reduce処理で、商品の平均を算出する	
  

                    Reducer	
  
りんご,	
  [100,	
  200,	
  300]	
         りんご,	
  200	
  
  みかん,	
  [200,	
  300]	
               みかん,	
  250	
  
       ぶどう,	
  [300]	
                  ぶどう,	
  300	
  




                    Reducer	
  
     なし,	
  [400,	
  100]	
               なし,	
  250	
  
      いちご,	
  [100]	
                   いちご,	
  100	
  
MapReduceの問題点(1)	
  
•  分散処理が簡単になったとはいえ、それでも
   処理の実装はかなり大変	
  
 –  Java	
  で書かなければいけない	
  
 –  現実には複数のMapReduceを組み合わせて一つ
    の処理を実現するため、設計が難しい	
  




 MapReduce	
  を基盤としたスクリプト言
  語・上位アプリケーションの出現	
  
MapReduce	
  を基盤としたツール群	
  


            Hive	
                Oozie	
  

  Pig	
                                   Mahout	
  




                       MapReduce	
  
Apache	
  Hive	
  とは	
  
•  SQLライクなMapReduce用クエリ言語	
  
•  RDBMSにメタデータを管理するため、テーブ
   ルスキーマやそれらに対するアクセス権など
   も設定可能	
  
•  非常にユーザ数が多く、多数のBI/DWHベン
   ダがHiveからのアクセスをサポートするように
   なった	
  
Hive実行の仕組み	
  
                   クエリ:	
  SELECT	
  *	
  FROM	
  …	
  	
  

                                                   クエリをMapReduceのワークフローに分解する	
  
                                                           (	
  =	
  コンパイルする)	
  



メタストアDB	
                      Hive	
  
                                                      DBスキーマの情報はメタストアDBで管理する	
  




              MRジョブ1	
                            MRジョブ3	
  

                               MRジョブ2	
  
Hiveのアーキテクチャ	
  
HiveQL	
  とインタフェース	
  
                                                                 メタデータとスケジューラ	
  
           SQL	
  App	
                            Hive	
  
                                                 Metastore	
      YARN	
     MRv1	
           HDFS	
  NN	
  
          Compiler	
  

  Query	
  Exec	
  Engine	
  




 MapReduce	
  Slave	
            MapReduce	
  Slave	
                         MapReduce	
  Slave	
  
 (Container	
  or	
  TT)	
       (Container	
  or	
  TT)	
                    (Container	
  or	
  TT)	
  

HDFS	
  DN	
       HBase	
      HDFS	
  DN	
      HBase	
                    HDFS	
  DN	
       HBase	
  
Hiveのアーキテクチャ	
  
HiveQL	
  とインタフェース	
  
                                                                 メタデータとスケジューラ	
  
           SQL	
  App	
                            Hive	
  
                                                 Metastore	
      YARN	
     MRv1	
           HDFS	
  NN	
  
          Compiler	
  

  Query	
  Exec	
  Engine	
  
                                                               クエリを解析し、	
  
                                                 メタストアにアクセスして必要な情報を集め、	
  
                                                 MapReduce	
  ジョブとして実行計画を作成する	
  



 MapReduce	
  Slave	
            MapReduce	
  Slave	
                         MapReduce	
  Slave	
  
 (Container	
  or	
  TT)	
       (Container	
  or	
  TT)	
                    (Container	
  or	
  TT)	
  

HDFS	
  DN	
       HBase	
      HDFS	
  DN	
      HBase	
                    HDFS	
  DN	
       HBase	
  
Hiveのアーキテクチャ	
  
HiveQL	
  とインタフェース	
  
    通常のMapReduceフレームワークを	
                                       メタデータとスケジューラ	
  
             用いてジョブを実行していく	
  
           SQL	
  App	
                            Hive	
  
                                                 Metastore	
      YARN	
     MRv1	
           HDFS	
  NN	
  
          Compiler	
  

  Query	
  Exec	
  Engine	
  




 MapReduce	
  Slave	
            MapReduce	
  Slave	
                         MapReduce	
  Slave	
  
 (Container	
  or	
  TT)	
       (Container	
  or	
  TT)	
                    (Container	
  or	
  TT)	
  

HDFS	
  DN	
     HBase	
        HDFS	
  DN	
      HBase	
                    HDFS	
  DN	
       HBase	
  
Hive	
  アーキテクチャ詳細	
  
MapReduceの問題点(2)	
  
•  高レイテンシ	
  
  –  小さいジョブを実行しても数十秒かかる	
  
  –  十分単位で処理時間がかかることもザラ	
  
•  すぐに結果がほしいユーザのニーズに合わ
   ない	
  



 MapReduce	
  を使わない低レイテンシ処
   理のための基盤が必要になった	
  
Impala(再掲)	
  
•  Cloudera	
  が開発したオープンソースの低レイ
   テンシ・分析特化型クエリ実行基盤	
  
•  データサイエンティストが使うことを想定して
   いる	
  
 –  あれこれと試行錯誤するときに、すぐに結果がほ
    しい	
  
 –  分析用途:読み込みのみで書き込み処理は基本
    的に不要	
  
Impalaのアーキテクチャ	
  
   HiveQL	
  とインタフェース	
                                            メタデータとスケジューラ	
  

                 SQL	
  App	
                        Hive	
                                       State	
  
                                                   Metastore	
      YARN	
     HDFS	
  NN	
       Store	
  
                   ODBC	
  




    Query	
  Planner	
                Query	
  Planner	
                           Query	
  Planner	
  

Query	
  Coordinator	
            Query	
  Coordinator	
                       Query	
  Coordinator	
  

Query	
  Exec	
  Engine	
         Query	
  Exec	
  Engine	
                     Query	
  Exec	
  Engine	
  

HDFS	
  DN	
          HBase	
     HDFS	
  DN	
      HBase	
                    HDFS	
  DN	
     HBase	
  
                                                                         ローカルダイレクト読み込み	
  
Impalaのアーキテクチャ	
  
   HiveQL	
  とインタフェース	
                                          メタデータとスケジューラ	
  

                 SQL	
  App	
                      Hive	
  と同じクエリをそのまま投げる	
  
                                                      Hive	
                                      State	
  
                                                    Metastore	
     YARN	
   HDFS	
  NN	
         Store	
  
                                                                 (一部制限あり)	
  
                   ODBC	
  




    Query	
  Planner	
                Query	
  Planner	
                           Query	
  Planner	
  

Query	
  Coordinator	
            Query	
  Coordinator	
                        Query	
  Coordinator	
  

Query	
  Exec	
  Engine	
         Query	
  Exec	
  Engine	
                     Query	
  Exec	
  Engine	
  

HDFS	
  DN	
          HBase	
     HDFS	
  DN	
       HBase	
                   HDFS	
  DN	
     HBase	
  
                                                                        ローカルダイレクト読み込み	
  
Impalaのアーキテクチャ	
  
   HiveQL	
  とインタフェース	
                                            メタデータとスケジューラ	
  

                 SQL	
  App	
                        Hive	
                                       State	
  
                                                   Metastore	
      YARN	
     HDFS	
  NN	
       Store	
  
             ODBC	
  
           メタデータを取得して	
  
           実行計画を作成する	
  



    Query	
  Planner	
                Query	
  Planner	
                           Query	
  Planner	
  

Query	
  Coordinator	
            Query	
  Coordinator	
                       Query	
  Coordinator	
  

Query	
  Exec	
  Engine	
         Query	
  Exec	
  Engine	
                     Query	
  Exec	
  Engine	
  

HDFS	
  DN	
          HBase	
     HDFS	
  DN	
      HBase	
                    HDFS	
  DN	
     HBase	
  
                                                                         ローカルダイレクト読み込み	
  
Impalaのアーキテクチャ	
  
   HiveQL	
  とインタフェース	
                                            メタデータとスケジューラ	
  

                 SQL	
  App	
                        Hive	
                                       State	
  
                                                   Metastore	
      YARN	
     HDFS	
  NN	
       Store	
  
                   ODBC	
                          他のノードと協調して分散処理を行う	
  




    Query	
  Planner	
                Query	
  Planner	
                           Query	
  Planner	
  

Query	
  Coordinator	
            Query	
  Coordinator	
                       Query	
  Coordinator	
  

Query	
  Exec	
  Engine	
         Query	
  Exec	
  Engine	
                     Query	
  Exec	
  Engine	
  

HDFS	
  DN	
          HBase	
     HDFS	
  DN	
      HBase	
                    HDFS	
  DN	
     HBase	
  
                                                                         ローカルダイレクト読み込み	
  
Impalaのアーキテクチャ	
  
   HiveQL	
  とインタフェース	
                                                  メタデータとスケジューラ	
  

                 SQL	
  App	
                              Hive	
                                       State	
  
                                                         Metastore	
      YARN	
     HDFS	
  NN	
       Store	
  
                   ODBC	
  




    Query	
  Planner	
                  Query	
  Planner	
                               Query	
  Planner	
  
                                  ローカルのデータを直で読んで	
  
Query	
  Coordinator	
                 クエリを実行	
  
                                      Query	
  Coordinator	
                         Query	
  Coordinator	
  

Query	
  Exec	
  Engine	
                Query	
  Exec	
  Engine	
                    Query	
  Exec	
  Engine	
  

HDFS	
  DN	
          HBase	
           HDFS	
  DN	
      HBase	
                    HDFS	
  DN	
     HBase	
  
                                                                               ローカルダイレクト読み込み	
  
Impalaのアーキテクチャ	
  
   HiveQL	
  とインタフェース	
                                            メタデータとスケジューラ	
  

                 SQL	
  App	
                        Hive	
                                       State	
  
                                                   Metastore	
      YARN	
     HDFS	
  NN	
       Store	
  
                   ODBC	
                                          結果は最初のノードに集約	
  
                                                                   インメモリに置いたまま転送	
  




    Query	
  Planner	
                Query	
  Planner	
                           Query	
  Planner	
  

Query	
  Coordinator	
            Query	
  Coordinator	
                       Query	
  Coordinator	
  

Query	
  Exec	
  Engine	
         Query	
  Exec	
  Engine	
                     Query	
  Exec	
  Engine	
  

HDFS	
  DN	
          HBase	
     HDFS	
  DN	
      HBase	
                    HDFS	
  DN	
     HBase	
  
                                                                         ローカルダイレクト読み込み	
  
実際に Impala	
  はどれくらい速いのか?	
  
                   (1)	
  37signals	
  	
  
処理内容	
                                                                    Impala	
                           Hive	
                    MySQL	
  
5.2GB	
  HAProxyログ	
  -­‐	
  リクエスト数上位                                     3.1	
                              65.4	
                    146	
  
のIPアドレス	
  
5.2GB	
  HAProxyログ	
  -­‐	
  リクエスト時間上                                     3.3	
                              65.2	
                    164	
  
位のIPアドレス	
  
800MB	
  rails	
  ログ	
  -­‐	
  最も遅いアカウント	
                                1.0	
                              33.2	
                    48.1	
  
800MB	
  rails	
  ログ	
  -­‐	
  最もDBの実行時間                                  1.1	
                              33.7	
                    49.6	
  
の長いパス	
  
8GB	
  ページビューテーブル	
  -­‐	
  日次ペー                                          22.4	
                             92.2	
                    180	
  
ジビューとユニークビジター	
  




   単位:	
  秒	
  
   URL:	
  hjp://37signals.com/svn/posts/3315-­‐how-­‐i-­‐came-­‐to-­‐love-­‐big-­‐data-­‐or-­‐at-­‐least-­‐acknowledge-­‐its-­‐existence	
  
実際に Impala	
  はどれくらい速いのか?	
  
             (2)	
  	
  @sudabon	
  さんの評価	
  
処理内容	
                                                                     Impala	
     Hive	
  
非圧縮8.8GB(GZip	
  600MB)	
  +	
  RCFile	
                                   -­‐	
        60.574	
  
SELECT	
  *	
  FROM	
  table_name	
  WHERE	
  column	
  =	
  
‘xxxx’;	
  
非圧縮8.8GB(Snappy	
  1.5GB)	
  +	
  SequenceFile	
                           14.679	
     -­‐	
  
SELECT	
  *	
  FROM	
  table_name	
  WHERE	
  column	
  =	
  
‘xxxx’;	
  




    単位:	
  秒	
  
    URL:	
  hjp://www.slideshare.net/sudabon/cloudera-­‐impalahive-­‐14995751	
  
実際に Impala	
  はどれくらい速いのか?	
  
           (3)	
  	
  @GedowFather	
  さんの評価(仮)	
  
処理内容	
                                                    Impala	
     Hive	
  
17MB	
  45,000行 GROUP	
  BY	
  &	
  ORDER	
  BY	
         7	
          63	
  
17MB	
  45,000行	
  COUNT	
                                1	
          34	
  
3.1GB	
  700万行	
  15ファイル	
  COUNT(distnct	
               27	
         50	
  
xxx)	
  
6GB	
  700万行	
  JOIN	
  20MB	
  5万行	
  GROUP	
  BY,	
     56	
         132	
  
ORDER	
  BY	
  sum()	
  




    単位:	
  秒	
  
    URL:	
  hjp://togejer.com/li/408008	
  
サポート済みの	
  Impala	
  の機能(0.2時点)	
  

•  Cloudera	
  Manager	
  からインストール可能	
  
•  Hue	
  から操作可能	
  
•  ODBC	
  ドライバを使って操作可能(一部制限あ
   り)	
  
•  データの選択、追加、挿入	
  
•  複数ユーザからの同時アクセス	
  
•  Kerberos	
  認証	
  
•  パーティション	
  
未サポートの	
  Impala	
  の機能(0.2時点)	
  
•    Trevni,	
  RCFile	
  のサポート	
  
•    ストリームデータの処理	
  
•    データの削除	
  
•    データの変換	
  
•    インデックス	
  
•    YARN対応	
  
•    全文検索	
  
•    耐障害性	
  
•    Hive	
  SerDe	
  
•    Hive	
  UDF	
  
•    テーブル・カラムレベルの認証	
  
•    データ暗号化	
  
•    ウィンドウ関数	
  
•    JDBCドライバ	
  
•    Avroサポート	
  
•    Joinの最適化	
  
よくある質問(1)	
  
•  もうHiveいらないんじゃね?	
  
 –  違います。HiveはUDFが使える、MRを使うので耐
    障害性がある、などなど多くの利点があります	
  
Hive	
  と	
  Impala	
  
                 Hive	
             Impala	
  
クエリ言語	
          HiveQL	
           HiveQL	
  
メタストア	
          Hiveメタストア	
        Hiveメタストア	
  
ジョブ実行基盤	
        MapReduce	
        独自	
  
レイテンシ	
          高	
                低	
  
ワークロード	
         read/write	
       read	
  only	
  	
  
ジョブの耐障害性	
       ◯(MapReduce)	
     ☓(失敗したらやり直し)	
  
UDF	
            ◯	
                ☓	
  
用途	
             パイプラインETL	
        データサイエンティストによ
                                    る分析	
  
よくある質問(2)	
  
•  Impalaってどういう人が使うの?	
  
 –  現時点ではデータサイエンティストのためのツー
    ルです。つまり、データを色々いじって試行錯誤
    する人のためのツール	
  
 –  Impalaで色々試して、よさげなクエリがあったら
    Hiveで定期ジョブとして実行、というのがパターン	
  
よくある質問(3)	
  
•  impalad	
  が落ちたらどうなるの?	
  
  –  クエリが全部こけます	
  
  –  どうせ実行に数秒から数十秒しかかからないの
     で流し直してください	
  
•  JOINのサイズ制限はあるの?	
  
  –  現バージョンでは、一番左のテーブル以外は実
     行したノードのメモリに収まる必要がある	
  
  –  GA時には全ノードのメモリ総量を使えるようにす
     る予定	
  
試してみたい、という方へ	
  
•  Impala	
  デモVM(1.5GBぐらい)	
  
  –  hjps://ccp.cloudera.com/display/SUPPORT/
     Cloudera's+Impala+Demo+VM	
  
•  ドキュメント	
  
  –  hjps://ccp.cloudera.com/display/
     IMPALA10BETADOC/Cloudera+Impala+1.0+Beta
     +Documentaton	
  
•  github	
  ソースコード	
  
  –  hjps://github.com/cloudera/impala	
  
Impala	
  の情報源	
  
•  Cloudera	
  の @kernel023	
  が日本語・英語の
   Impala情報をまとめていますのでそちらを見
   てください	
  
  –  hjp://linux.wwing.net/WordPress/	
  	
  
おしまい	
  

More Related Content

What's hot

Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析MapR Technologies 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
 
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...MapR Technologies Japan
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11MapR Technologies Japan
 
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているか
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているかHBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているか
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているかMapR Technologies Japan
 
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19MapR Technologies Japan
 
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)Takeshi Mikami
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用Toshihiro Suzuki
 
今さら聞けないHadoop セントラルソフト株式会社(20120119)
今さら聞けないHadoop セントラルソフト株式会社(20120119)今さら聞けないHadoop セントラルソフト株式会社(20120119)
今さら聞けないHadoop セントラルソフト株式会社(20120119)Toru Takizawa
 
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26MapR Technologies Japan
 
Hadoop for programmer
Hadoop for programmerHadoop for programmer
Hadoop for programmerSho Shimauchi
 
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12MapR Technologies Japan
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントCloudera Japan
 
20111215_第1回EMR勉強会発表資料
20111215_第1回EMR勉強会発表資料20111215_第1回EMR勉強会発表資料
20111215_第1回EMR勉強会発表資料Kotaro Tsukui
 
Hadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみたHadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみたRecruit Technologies
 
AspectJを用いた大規模分散システムHadoopの監視とプロファイリング
AspectJを用いた大規模分散システムHadoopの監視とプロファイリングAspectJを用いた大規模分散システムHadoopの監視とプロファイリング
AspectJを用いた大規模分散システムHadoopの監視とプロファイリングYusuke Shimizu
 
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...MapR Technologies Japan
 
ただいまHadoop勉強中
ただいまHadoop勉強中ただいまHadoop勉強中
ただいまHadoop勉強中Satoshi Noto
 

What's hot (20)

Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
 
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
 
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
 
MapR M7 技術概要
MapR M7 技術概要MapR M7 技術概要
MapR M7 技術概要
 
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているか
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているかHBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているか
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているか
 
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
 
HBase at Ameba
HBase at AmebaHBase at Ameba
HBase at Ameba
 
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用
 
今さら聞けないHadoop セントラルソフト株式会社(20120119)
今さら聞けないHadoop セントラルソフト株式会社(20120119)今さら聞けないHadoop セントラルソフト株式会社(20120119)
今さら聞けないHadoop セントラルソフト株式会社(20120119)
 
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
 
Hadoop for programmer
Hadoop for programmerHadoop for programmer
Hadoop for programmer
 
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイント
 
20111215_第1回EMR勉強会発表資料
20111215_第1回EMR勉強会発表資料20111215_第1回EMR勉強会発表資料
20111215_第1回EMR勉強会発表資料
 
Hadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみたHadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみた
 
AspectJを用いた大規模分散システムHadoopの監視とプロファイリング
AspectJを用いた大規模分散システムHadoopの監視とプロファイリングAspectJを用いた大規模分散システムHadoopの監視とプロファイリング
AspectJを用いた大規模分散システムHadoopの監視とプロファイリング
 
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
 
ただいまHadoop勉強中
ただいまHadoop勉強中ただいまHadoop勉強中
ただいまHadoop勉強中
 

Viewers also liked

Decotai Shiumachi 091206
Decotai Shiumachi 091206Decotai Shiumachi 091206
Decotai Shiumachi 091206Sho Shimauchi
 
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Sho Shimauchi
 
Programming Collective Intelligence 100111
Programming Collective Intelligence 100111Programming Collective Intelligence 100111
Programming Collective Intelligence 100111Sho Shimauchi
 
Hadoop summit 2012 report
Hadoop summit 2012 reportHadoop summit 2012 report
Hadoop summit 2012 reportSho Shimauchi
 
Data-Intensive Text Processing with MapReduce ch6.1
Data-Intensive Text Processing with MapReduce ch6.1Data-Intensive Text Processing with MapReduce ch6.1
Data-Intensive Text Processing with MapReduce ch6.1Sho Shimauchi
 
Programming Collective Intelligence 100131
Programming Collective Intelligence 100131Programming Collective Intelligence 100131
Programming Collective Intelligence 100131Sho Shimauchi
 
Decotai Shiumachi 091228
Decotai Shiumachi 091228Decotai Shiumachi 091228
Decotai Shiumachi 091228Sho Shimauchi
 
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_testSho Shimauchi
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方Sho Shimauchi
 
20分でわかるHBase
20分でわかるHBase20分でわかるHBase
20分でわかるHBaseSho Shimauchi
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesSho Shimauchi
 
浅野高等学校 2015年度 卒業生講演
浅野高等学校 2015年度 卒業生講演浅野高等学校 2015年度 卒業生講演
浅野高等学校 2015年度 卒業生講演Sho Shimauchi
 

Viewers also liked (18)

Decotai Shiumachi 091206
Decotai Shiumachi 091206Decotai Shiumachi 091206
Decotai Shiumachi 091206
 
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4
 
Calendar 2010
Calendar 2010Calendar 2010
Calendar 2010
 
My Immortal
My ImmortalMy Immortal
My Immortal
 
Clarity Profile
Clarity ProfileClarity Profile
Clarity Profile
 
Programming Collective Intelligence 100111
Programming Collective Intelligence 100111Programming Collective Intelligence 100111
Programming Collective Intelligence 100111
 
Hadoop summit 2012 report
Hadoop summit 2012 reportHadoop summit 2012 report
Hadoop summit 2012 report
 
Data-Intensive Text Processing with MapReduce ch6.1
Data-Intensive Text Processing with MapReduce ch6.1Data-Intensive Text Processing with MapReduce ch6.1
Data-Intensive Text Processing with MapReduce ch6.1
 
Programming Collective Intelligence 100131
Programming Collective Intelligence 100131Programming Collective Intelligence 100131
Programming Collective Intelligence 100131
 
Incredere
IncredereIncredere
Incredere
 
Decotai Shiumachi 091228
Decotai Shiumachi 091228Decotai Shiumachi 091228
Decotai Shiumachi 091228
 
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_test
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方
 
20分でわかるHBase
20分でわかるHBase20分でわかるHBase
20分でわかるHBase
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFes
 
Mantra Tara Verde
Mantra Tara VerdeMantra Tara Verde
Mantra Tara Verde
 
Christmas Spirit in Romania
Christmas Spirit in RomaniaChristmas Spirit in Romania
Christmas Spirit in Romania
 
浅野高等学校 2015年度 卒業生講演
浅野高等学校 2015年度 卒業生講演浅野高等学校 2015年度 卒業生講演
浅野高等学校 2015年度 卒業生講演
 

Similar to Cloudera Impala #pyfes 2012.11.24

Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebminingImpala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebminingSho Shimauchi
 
MapReduceを使った並列化 20111212
MapReduceを使った並列化 20111212MapReduceを使った並列化 20111212
MapReduceを使った並列化 20111212marony
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Cloudera 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
 
Hadoop Hack Night Vol. 2
Hadoop Hack Night Vol. 2Hadoop Hack Night Vol. 2
Hadoop Hack Night Vol. 2Yoji Kiyota
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 
20130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT7720130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT77nkt77
 
20130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT7720130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT77nkt77
 
OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門Shinichi YAMASHITA
 
The future of Apache Hadoop YARN
The future of Apache Hadoop YARNThe future of Apache Hadoop YARN
The future of Apache Hadoop YARNSeiya Mizuno
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~Developers Summit
 
Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013Cloudera Japan
 
20100916_EMRを使ったシステム構築案件
20100916_EMRを使ったシステム構築案件20100916_EMRを使ったシステム構築案件
20100916_EMRを使ったシステム構築案件Kotaro Tsukui
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京Koichiro Sasaki
 
[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...
[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...
[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...Insight Technology, Inc.
 

Similar to Cloudera Impala #pyfes 2012.11.24 (20)

Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebminingImpala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
 
MapReduceを使った並列化 20111212
MapReduceを使った並列化 20111212MapReduceを使った並列化 20111212
MapReduceを使った並列化 20111212
 
MapReduce解説
MapReduce解説MapReduce解説
MapReduce解説
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014
 
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
 
Hadoop Hack Night Vol. 2
Hadoop Hack Night Vol. 2Hadoop Hack Night Vol. 2
Hadoop Hack Night Vol. 2
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
20130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT7720130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT77
 
OSC2012 OSC.DB Hadoop
OSC2012 OSC.DB HadoopOSC2012 OSC.DB Hadoop
OSC2012 OSC.DB Hadoop
 
20130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT7720130626 kawasaki.rb NKT77
20130626 kawasaki.rb NKT77
 
OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門OSC2011 Tokyo/Spring Hadoop入門
OSC2011 Tokyo/Spring Hadoop入門
 
The future of Apache Hadoop YARN
The future of Apache Hadoop YARNThe future of Apache Hadoop YARN
The future of Apache Hadoop YARN
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
 
Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013
 
20100916_EMRを使ったシステム構築案件
20100916_EMRを使ったシステム構築案件20100916_EMRを使ったシステム構築案件
20100916_EMRを使ったシステム構築案件
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
MapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知るMapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知る
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
 
[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...
[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...
[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...
 
StreamGraph
StreamGraphStreamGraph
StreamGraph
 

Cloudera Impala #pyfes 2012.11.24

  • 2. アジェンダ   •  Impalaとは   •  Hadoop、Hive、そしてImpala   •  どれくらい速いの?   •  Impala  と  Hive  の違い  
  • 3. お前誰よ?   •  Sho  Shimauchi    (  @shiumachi  )   •  Cloudera  の問い合わせ担当   •  現在仕事中です(今ここでしゃべるために20 分だけ会議から抜けてきた)  
  • 4. Impala   •  Cloudera  が開発したオープンソースの低レイテ ンシ・分析特化型クエリ実行基盤   •  Google  Dremel,  Google  F1  などにインスパイアさ れて開発された   –  Impala  作者の  Marcel  Kornacker  は  Google  F1  の開 発エンジニア     •  データサイエンティストが使うことを想定している   –  あれこれと試行錯誤するときに、すぐに結果がほしい   –  分析用途:読み込みのみで書き込み処理は基本的に 不要  
  • 5. なぜImpalaが開発されたのか?   •  Hadoop  (MapReduce)  だと高レイテンシで、す ぐに結果が欲しくても処理に時間がかかる   •  Hive  のように手軽に使えるSQLのインタフェー スを持ち、かつ低レイテンシのエンジンが必 要になった   そもそもHadoop/MapReduce/Hive   って何?  
  • 6. Apache  MapReduce  とは?   •  バッチ処理を分散して行うシステム   •  Hadoop  のコアコンポーネントの一つ   •  フレームワークの中で処理の信頼性を担保して いるので、開発者はアプリケーションロジックの みに集中してコードを書ける   •  MR  が提供するもの   –  処理の並列化   –  耐障害性   –  ジョブ監視のための基盤   –  開発者のための抽象化されたインタフェース(map  +   reduce)  
  • 7. MapReduce(1)  Map処理   商品   価格   Mapper   りんご,  100   りんご   100   みかん,  200   みかん   200   ぶどう,  300   ぶどう   300   Mapper   入力データに対して計算処理し、<キー,  値>の形 式に変換する   ここでの処理は「何もせずそのまま出力」   HDFS上のデータ   複数のブロックに分割されていて Mapper   も、分割されたまま実行可能  
  • 8. MapReduce(1)  Map処理   他のMapperでも同様に実行   Mapper   りんご,  100   このMapperは同一サーバで複 数稼働しても構わない   みかん,  200   ぶどう,  300   商品   価格   りんご   200   Mapper   りんご,  200   なし   400   なし,  400   いちご   100   いちご,  100   商品   価格   りんご   300   Mapper   りんご,  300   みかん   400   みかん,  400   なし   100   なし,  100  
  • 9. MapReduce(2)  Shuffle処理   Mapper   りんご,  100   Reducer   みかん,  200   りんご,  [100,  200,  300]   ぶどう,  300   Map出力の中で同じキーを持つデー Mapper   りんご,  200   タは一ヶ所のReducerにまとめる   この時点ではまとめるだけで計算は なし,  400   しない   いちご,  100   Reducer   Mapper   りんご,  300   みかん,  400   なし,  100  
  • 10. MapReduce(2)  Shuffle処理   他のデータも同様に処理   Mapper   りんご,  100   Reducerは複数でもいい   Reducer   Reducerを実行しないケースもある   みかん,  200   りんご,  [100,  200,  300]   ぶどう,  300   みかん,  [200,  300]   ぶどう,  [300]   Mapper   りんご,  200   なし,  400   いちご,  100   Reducer   なし,  [400,  100]   Mapper   りんご,  300   いちご,  [100]   みかん,  400   なし,  100  
  • 11. MapReduce(3)  Reduce処理   Reduce処理で、商品の平均を算出する   Reducer   りんご,  [100,  200,  300]   りんご,  200   みかん,  [200,  300]   みかん,  250   ぶどう,  [300]   ぶどう,  300   Reducer   なし,  [400,  100]   なし,  250   いちご,  [100]   いちご,  100  
  • 12. MapReduceの問題点(1)   •  分散処理が簡単になったとはいえ、それでも 処理の実装はかなり大変   –  Java  で書かなければいけない   –  現実には複数のMapReduceを組み合わせて一つ の処理を実現するため、設計が難しい   MapReduce  を基盤としたスクリプト言 語・上位アプリケーションの出現  
  • 13. MapReduce  を基盤としたツール群   Hive   Oozie   Pig   Mahout   MapReduce  
  • 14. Apache  Hive  とは   •  SQLライクなMapReduce用クエリ言語   •  RDBMSにメタデータを管理するため、テーブ ルスキーマやそれらに対するアクセス権など も設定可能   •  非常にユーザ数が多く、多数のBI/DWHベン ダがHiveからのアクセスをサポートするように なった  
  • 15. Hive実行の仕組み   クエリ:  SELECT  *  FROM  …     クエリをMapReduceのワークフローに分解する   (  =  コンパイルする)   メタストアDB   Hive   DBスキーマの情報はメタストアDBで管理する   MRジョブ1   MRジョブ3   MRジョブ2  
  • 16. Hiveのアーキテクチャ   HiveQL  とインタフェース   メタデータとスケジューラ   SQL  App   Hive   Metastore   YARN   MRv1   HDFS  NN   Compiler   Query  Exec  Engine   MapReduce  Slave   MapReduce  Slave   MapReduce  Slave   (Container  or  TT)   (Container  or  TT)   (Container  or  TT)   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase  
  • 17. Hiveのアーキテクチャ   HiveQL  とインタフェース   メタデータとスケジューラ   SQL  App   Hive   Metastore   YARN   MRv1   HDFS  NN   Compiler   Query  Exec  Engine   クエリを解析し、   メタストアにアクセスして必要な情報を集め、   MapReduce  ジョブとして実行計画を作成する   MapReduce  Slave   MapReduce  Slave   MapReduce  Slave   (Container  or  TT)   (Container  or  TT)   (Container  or  TT)   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase  
  • 18. Hiveのアーキテクチャ   HiveQL  とインタフェース   通常のMapReduceフレームワークを   メタデータとスケジューラ   用いてジョブを実行していく   SQL  App   Hive   Metastore   YARN   MRv1   HDFS  NN   Compiler   Query  Exec  Engine   MapReduce  Slave   MapReduce  Slave   MapReduce  Slave   (Container  or  TT)   (Container  or  TT)   (Container  or  TT)   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase  
  • 20. MapReduceの問題点(2)   •  高レイテンシ   –  小さいジョブを実行しても数十秒かかる   –  十分単位で処理時間がかかることもザラ   •  すぐに結果がほしいユーザのニーズに合わ ない   MapReduce  を使わない低レイテンシ処 理のための基盤が必要になった  
  • 21. Impala(再掲)   •  Cloudera  が開発したオープンソースの低レイ テンシ・分析特化型クエリ実行基盤   •  データサイエンティストが使うことを想定して いる   –  あれこれと試行錯誤するときに、すぐに結果がほ しい   –  分析用途:読み込みのみで書き込み処理は基本 的に不要  
  • 22. Impalaのアーキテクチャ   HiveQL  とインタフェース   メタデータとスケジューラ   SQL  App   Hive   State   Metastore   YARN   HDFS  NN   Store   ODBC   Query  Planner   Query  Planner   Query  Planner   Query  Coordinator   Query  Coordinator   Query  Coordinator   Query  Exec  Engine   Query  Exec  Engine   Query  Exec  Engine   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase   ローカルダイレクト読み込み  
  • 23. Impalaのアーキテクチャ   HiveQL  とインタフェース   メタデータとスケジューラ   SQL  App   Hive  と同じクエリをそのまま投げる   Hive   State   Metastore   YARN   HDFS  NN   Store   (一部制限あり)   ODBC   Query  Planner   Query  Planner   Query  Planner   Query  Coordinator   Query  Coordinator   Query  Coordinator   Query  Exec  Engine   Query  Exec  Engine   Query  Exec  Engine   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase   ローカルダイレクト読み込み  
  • 24. Impalaのアーキテクチャ   HiveQL  とインタフェース   メタデータとスケジューラ   SQL  App   Hive   State   Metastore   YARN   HDFS  NN   Store   ODBC   メタデータを取得して   実行計画を作成する   Query  Planner   Query  Planner   Query  Planner   Query  Coordinator   Query  Coordinator   Query  Coordinator   Query  Exec  Engine   Query  Exec  Engine   Query  Exec  Engine   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase   ローカルダイレクト読み込み  
  • 25. Impalaのアーキテクチャ   HiveQL  とインタフェース   メタデータとスケジューラ   SQL  App   Hive   State   Metastore   YARN   HDFS  NN   Store   ODBC   他のノードと協調して分散処理を行う   Query  Planner   Query  Planner   Query  Planner   Query  Coordinator   Query  Coordinator   Query  Coordinator   Query  Exec  Engine   Query  Exec  Engine   Query  Exec  Engine   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase   ローカルダイレクト読み込み  
  • 26. Impalaのアーキテクチャ   HiveQL  とインタフェース   メタデータとスケジューラ   SQL  App   Hive   State   Metastore   YARN   HDFS  NN   Store   ODBC   Query  Planner   Query  Planner   Query  Planner   ローカルのデータを直で読んで   Query  Coordinator   クエリを実行   Query  Coordinator   Query  Coordinator   Query  Exec  Engine   Query  Exec  Engine   Query  Exec  Engine   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase   ローカルダイレクト読み込み  
  • 27. Impalaのアーキテクチャ   HiveQL  とインタフェース   メタデータとスケジューラ   SQL  App   Hive   State   Metastore   YARN   HDFS  NN   Store   ODBC   結果は最初のノードに集約   インメモリに置いたまま転送   Query  Planner   Query  Planner   Query  Planner   Query  Coordinator   Query  Coordinator   Query  Coordinator   Query  Exec  Engine   Query  Exec  Engine   Query  Exec  Engine   HDFS  DN   HBase   HDFS  DN   HBase   HDFS  DN   HBase   ローカルダイレクト読み込み  
  • 28. 実際に Impala  はどれくらい速いのか?   (1)  37signals     処理内容   Impala   Hive   MySQL   5.2GB  HAProxyログ  -­‐  リクエスト数上位 3.1   65.4   146   のIPアドレス   5.2GB  HAProxyログ  -­‐  リクエスト時間上 3.3   65.2   164   位のIPアドレス   800MB  rails  ログ  -­‐  最も遅いアカウント   1.0   33.2   48.1   800MB  rails  ログ  -­‐  最もDBの実行時間 1.1   33.7   49.6   の長いパス   8GB  ページビューテーブル  -­‐  日次ペー 22.4   92.2   180   ジビューとユニークビジター   単位:  秒   URL:  hjp://37signals.com/svn/posts/3315-­‐how-­‐i-­‐came-­‐to-­‐love-­‐big-­‐data-­‐or-­‐at-­‐least-­‐acknowledge-­‐its-­‐existence  
  • 29. 実際に Impala  はどれくらい速いのか?   (2)    @sudabon  さんの評価   処理内容   Impala   Hive   非圧縮8.8GB(GZip  600MB)  +  RCFile   -­‐   60.574   SELECT  *  FROM  table_name  WHERE  column  =   ‘xxxx’;   非圧縮8.8GB(Snappy  1.5GB)  +  SequenceFile   14.679   -­‐   SELECT  *  FROM  table_name  WHERE  column  =   ‘xxxx’;   単位:  秒   URL:  hjp://www.slideshare.net/sudabon/cloudera-­‐impalahive-­‐14995751  
  • 30. 実際に Impala  はどれくらい速いのか?   (3)    @GedowFather  さんの評価(仮)   処理内容   Impala   Hive   17MB  45,000行 GROUP  BY  &  ORDER  BY   7   63   17MB  45,000行  COUNT   1   34   3.1GB  700万行  15ファイル  COUNT(distnct   27   50   xxx)   6GB  700万行  JOIN  20MB  5万行  GROUP  BY,   56   132   ORDER  BY  sum()   単位:  秒   URL:  hjp://togejer.com/li/408008  
  • 31. サポート済みの  Impala  の機能(0.2時点)   •  Cloudera  Manager  からインストール可能   •  Hue  から操作可能   •  ODBC  ドライバを使って操作可能(一部制限あ り)   •  データの選択、追加、挿入   •  複数ユーザからの同時アクセス   •  Kerberos  認証   •  パーティション  
  • 32. 未サポートの  Impala  の機能(0.2時点)   •  Trevni,  RCFile  のサポート   •  ストリームデータの処理   •  データの削除   •  データの変換   •  インデックス   •  YARN対応   •  全文検索   •  耐障害性   •  Hive  SerDe   •  Hive  UDF   •  テーブル・カラムレベルの認証   •  データ暗号化   •  ウィンドウ関数   •  JDBCドライバ   •  Avroサポート   •  Joinの最適化  
  • 33. よくある質問(1)   •  もうHiveいらないんじゃね?   –  違います。HiveはUDFが使える、MRを使うので耐 障害性がある、などなど多くの利点があります  
  • 34. Hive  と  Impala   Hive   Impala   クエリ言語   HiveQL   HiveQL   メタストア   Hiveメタストア   Hiveメタストア   ジョブ実行基盤   MapReduce   独自   レイテンシ   高   低   ワークロード   read/write   read  only     ジョブの耐障害性   ◯(MapReduce)   ☓(失敗したらやり直し)   UDF   ◯   ☓   用途   パイプラインETL   データサイエンティストによ る分析  
  • 35. よくある質問(2)   •  Impalaってどういう人が使うの?   –  現時点ではデータサイエンティストのためのツー ルです。つまり、データを色々いじって試行錯誤 する人のためのツール   –  Impalaで色々試して、よさげなクエリがあったら Hiveで定期ジョブとして実行、というのがパターン  
  • 36. よくある質問(3)   •  impalad  が落ちたらどうなるの?   –  クエリが全部こけます   –  どうせ実行に数秒から数十秒しかかからないの で流し直してください   •  JOINのサイズ制限はあるの?   –  現バージョンでは、一番左のテーブル以外は実 行したノードのメモリに収まる必要がある   –  GA時には全ノードのメモリ総量を使えるようにす る予定  
  • 37. 試してみたい、という方へ   •  Impala  デモVM(1.5GBぐらい)   –  hjps://ccp.cloudera.com/display/SUPPORT/ Cloudera's+Impala+Demo+VM   •  ドキュメント   –  hjps://ccp.cloudera.com/display/ IMPALA10BETADOC/Cloudera+Impala+1.0+Beta +Documentaton   •  github  ソースコード   –  hjps://github.com/cloudera/impala  
  • 38. Impala  の情報源   •  Cloudera  の @kernel023  が日本語・英語の Impala情報をまとめていますのでそちらを見 てください   –  hjp://linux.wwing.net/WordPress/