Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Hive on Spark
の設計指針を読
んでみた
Yu Ishikawa
2014-07-24
はじめに
 Apache Hive の実行エンジンとして Spark に
対応する機能が開発中
 [HIVE-7292] Hive on Spark - ASF JIRA
 https://issues.apache.org/jira/b...
Table of Contents
 Hive on Spark の導入
 高レベルの機能性の解説
 高レベルの設計概要
 各コンポーネントの解説
 まとめ
Hive on Spark の導入
Hive on Spark の目的
 (Hadoop) MapReduce, Tez につづいて第3の
Hive 実行エンジンとして Spark に対応させる
 Spark とはHadoop MapReduce より高速に処
理できるオープ...
Motivation: 実装する動機
 すでに Spark を利用しているユーザとっては,
処理環境が標準化されることでオペレーショ
ン的なコスト削減
 SQL on Hadoop として,Hive を Spark ユー
ザに提供
 Hi...
設計指針:Design Principle
 既存の Hive のコードには影響を(可能な限
り)与えない
 現在 MapReduce と Tez の実行エンジンを簡
単に切り替えられるように,Spark も簡単に
切り替えられる
 Sp...
Shark や Spark SQL との比較
 Hive on Spark は,すべての Hive の特徴を Spark の実
行エンジンでも利用可能にする
 Hive QL, 認証, モニタリング, 監視 など
 Shark
 Hiv...
高レベルの機能性の解説
Hive の実行エンジンとして Spark を指定
する方法
 デフォルト:mr (MapReduce)
 もし Spark を実行する環境がないときは,MapReduce
か Tez を実行
 Spark 用に Hive QL を一切変...
その他実装するにあたっての要件
 “explain” による実行計画の表示
 MapReduce での Hive 実行のように,処理の
進行状況のフィードバック
 ジョブの統計や診断法の提供
高レベルの設計概要
実装にあったっての機能分類
 Query planning
 Hive QL の意味解析により Hive のオペレータ
プランが Spark で実行できるタスクプランに変
換
 Query execution
 生成された Spark ...
Query Planning(1)
 Operator Plan は,TableScanOperator,
ReduceSink, FileSink,
GroupByOperator などの論理オペレータ
のグラフで構成
HiveQL
Ope...
Query Planning(2)
 SparkCompiler は Hive の論理オペレータプラ
ンから Spark で実行できるプランにコンパイル
 ジョブとして実行できる形として SparkWork の
インスタンスを作る
 Sp...
Job Execution
 SparkCompiler によって生成された
SparkTask のインスタンスは,Hive のタス
ク実行フレームワークで MapReduce と同様
に実行できる
 Spark にジョブが投げられたら,ジ...
特筆すべき各コンポーネン
トの解説
採用する基本原則は?
 Spark 側の SQL 解析を利用するのではなく,
MapReduce の機構を利用
 Spark の操作は Spark 側が公開している Java
API で対応
 Spark で実行できるように MapRed...
Table as RDD
 Hive テーブルを Spark のデータ形式である
RDD として扱えるように実装
 現時点でも HDFS のデータを扱える RDD が
あるので,それを Hive に特化した形で拡張
する必要がある
 Sc...
SparkWork と SparkTask
 SparkWork は SparkTask から利用
 SparkWork は Spark ジョブを実行し続ける
ためのタスクプランを表現
 SparkWork は,MapWork と Red...
Shuffle, Group, and Sort
 Spark は,partitionBy, groupByKey,
sortByKey などのような MapReduce の
Shuffle を簡単にするための API があるのでそ
れを利用...
まとめ
Hive on Spark を実装するにあたって必要
そうな作業
 Spark のジョブモニタリング Java APIs
 SparkContext をスレッドセーフにする
 シャッフルの機能性や API の改修
 RDD を Hive...
実装のすすめ方
 いくつかのフェーズに分けて実装を進めてい
く
 まずは基本的な機能の実装
 その後に最適化や改良を行っていく
 Hive on Spark を進めていくには,Hive コ
ミュニティと Spark コミュニティが密に連...
Upcoming SlideShare
Loading in …5
×

Hive on Spark の設計指針を読んでみた

5,886 views

Published on

Hive on Spark の設計指針を読んでみた

Published in: Technology
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Hive on Spark の設計指針を読んでみた

  1. 1. Hive on Spark の設計指針を読 んでみた Yu Ishikawa 2014-07-24
  2. 2. はじめに  Apache Hive の実行エンジンとして Spark に 対応する機能が開発中  [HIVE-7292] Hive on Spark - ASF JIRA  https://issues.apache.org/jira/browse/HIVE-7292  2014-06-25 に Hive on Spark の設計指針など が, Cloudera 社の Xuefu Zhang らによって 公開された
  3. 3. Table of Contents  Hive on Spark の導入  高レベルの機能性の解説  高レベルの設計概要  各コンポーネントの解説  まとめ
  4. 4. Hive on Spark の導入
  5. 5. Hive on Spark の目的  (Hadoop) MapReduce, Tez につづいて第3の Hive 実行エンジンとして Spark に対応させる  Spark とはHadoop MapReduce より高速に処 理できるオープンソースのデータ分析分散処理 フレームワーク  Spark は Resilient Distributed Dataset (RDD) と いうデータコレクションでデータを表現
  6. 6. Motivation: 実装する動機  すでに Spark を利用しているユーザとっては, 処理環境が標準化されることでオペレーショ ン的なコスト削減  SQL on Hadoop として,Hive を Spark ユー ザに提供  Hive on Tez のようにパフォーマンスの向上
  7. 7. 設計指針:Design Principle  既存の Hive のコードには影響を(可能な限 り)与えない  現在 MapReduce と Tez の実行エンジンを簡 単に切り替えられるように,Spark も簡単に 切り替えられる  Spark への特別な対処をする必要することな く,既存の MapReduce や Tez の処理と共通 化できるところは最大限共通化  Hive 側の拡張に対して,Hive on Spark の部 分も自動的に対応されるような実装
  8. 8. Shark や Spark SQL との比較  Hive on Spark は,すべての Hive の特徴を Spark の実 行エンジンでも利用可能にする  Hive QL, 認証, モニタリング, 監視 など  Shark  Hive で生成されたクエリプランを Spark で実行できる ように変換  Spark SQL  SQL-like (Hive QL も含む)を Spark アプリケーション で実行できるようにするためのパーサ  Hive のように対話的に使うというより,Scala のコー ドの中で利用
  9. 9. 高レベルの機能性の解説
  10. 10. Hive の実行エンジンとして Spark を指定 する方法  デフォルト:mr (MapReduce)  もし Spark を実行する環境がないときは,MapReduce か Tez を実行  Spark 用に Hive QL を一切変更することなく実行できる ように実装する  Spark にジョブを投げるには,MapReduce の用に実行 する Spark クラスタの URI などを設定 hive> set hive.execution.engine=spark;
  11. 11. その他実装するにあたっての要件  “explain” による実行計画の表示  MapReduce での Hive 実行のように,処理の 進行状況のフィードバック  ジョブの統計や診断法の提供
  12. 12. 高レベルの設計概要
  13. 13. 実装にあったっての機能分類  Query planning  Hive QL の意味解析により Hive のオペレータ プランが Spark で実行できるタスクプランに変 換  Query execution  生成された Spark のタスクプランが実際に Spark クラスタで実行
  14. 14. Query Planning(1)  Operator Plan は,TableScanOperator, ReduceSink, FileSink, GroupByOperator などの論理オペレータ のグラフで構成 HiveQL Operator plan Hive Semantic Analzer Graph of MapReduceTask MapReduceCompiler
  15. 15. Query Planning(2)  SparkCompiler は Hive の論理オペレータプラ ンから Spark で実行できるプランにコンパイル  ジョブとして実行できる形として SparkWork の インスタンスを作る  SparkWork は Spark のタスクの実行プランを表 現  実行計画の最適化はつぎのフェーズにして,まず は機能を実装することに専念 HiveQL Operator plan Hive Semantic Analzer Graph of SparkTask SparkCompiler
  16. 16. Job Execution  SparkCompiler によって生成された SparkTask のインスタンスは,Hive のタス ク実行フレームワークで MapReduce と同様 に実行できる  Spark にジョブが投げられたら,ジョブの実 行状況をモニタリングできる仕組みを SparkListener として実装
  17. 17. 特筆すべき各コンポーネン トの解説
  18. 18. 採用する基本原則は?  Spark 側の SQL 解析を利用するのではなく, MapReduce の機構を利用  Spark の操作は Spark 側が公開している Java API で対応  Spark で実行できるように MapReduce 側の 基本原則を拡張
  19. 19. Table as RDD  Hive テーブルを Spark のデータ形式である RDD として扱えるように実装  現時点でも HDFS のデータを扱える RDD が あるので,それを Hive に特化した形で拡張 する必要がある  Scala として拡張するのは簡単だが,Java API として扱えるようにはなっていないので 課題
  20. 20. SparkWork と SparkTask  SparkWork は SparkTask から利用  SparkWork は Spark ジョブを実行し続ける ためのタスクプランを表現  SparkWork は,MapWork と ReduceWork (たまに UnionWork)で構成
  21. 21. Shuffle, Group, and Sort  Spark は,partitionBy, groupByKey, sortByKey などのような MapReduce の Shuffle を簡単にするための API があるのでそ れを利用して group by や sort by を実装  Hive QL の JOIN 句についても,Spark の join API を利用することで実装
  22. 22. まとめ
  23. 23. Hive on Spark を実装するにあたって必要 そうな作業  Spark のジョブモニタリング Java APIs  SparkContext をスレッドセーフにする  シャッフルの機能性や API の改修  RDD を Hive テーブルで扱えるようにするた めの Java API の実装
  24. 24. 実装のすすめ方  いくつかのフェーズに分けて実装を進めてい く  まずは基本的な機能の実装  その後に最適化や改良を行っていく  Hive on Spark を進めていくには,Hive コ ミュニティと Spark コミュニティが密に連携 を取っていく必要がある

×