YARN上の新たな分散処理基盤 ─DAG
冒頭でも触れたとおり,
MapReduceでは,
一方,
- Tez
- DAG+ディスク最適化+低レイテンシ用最適化機構+インタフェースはHive/
Pig/ Spark/ Flinkなどを想定 - Spark
- DAG+低レイテンシ実現のためのインメモリ計算機構+関数型言語ライクなインタフェース
- Flink
- DAG+独自のシャッフル機構+ストリーミング処理とバッチ処理等価なインタフェース
しかし,
ではこれらの課題に対し,
まずTezについて。Hiveなど高級言語によるインタフェースでのバッチ処理を前提に設計されたTezは,
Sparkにおいては,
- yarn-clusterモード
- ジョブを投入する:YARNコンテナ上でSparkドライバを起動
- yarn-clientモード
- 対話式の実行形態を想定:クライアント側でSparkドライバ
の2つが存在します。とくにSparkは対話式プログラミングに強いため,
この対策としてSpark 1.
TezもSparkも互いに最適化することで,
HadoopのリソースマネージャとしてはYARNのほかにもうひとつ,
"Yet Another"という言葉通り,