リピさんとオザさんのTezとSparkの会話

repeatedlyさんとoza_x86さんのTezとSparkに関する会話をまとめさせていただきました。
4
SKS rep @repeatedly

@oza_x86 さっきの例だと,全体が一つのステージ?それとも各GROUP BYみたいなのがステージになっていて,その部分が図には書かれていない?

2014-09-11 10:53:07
SKS rep @repeatedly

Hiveの場合にはとりあえずTezによって生成された実行モデルのステージ毎に永続化,Spark SQLの場合はどうなんだろ?Sparkの場合って明示的にcacheを呼ばないと永続化しなかったはずだが…クエリ側から制御出来るのかな?

2014-09-11 10:54:22
oza @oza_x86

@repeatedly この粒度だと,基本的には edge のたびに書いてるイメージ.実際に書くか書かないかは Hive の Optimizer が決める.

2014-09-11 10:54:35
SKS rep @repeatedly

@oza_x86 ほー,なるほど.その書くか書かないか,っていうのはexplainとかで分かるという感じ?

2014-09-11 10:56:05
oza @oza_x86

@repeatedly 確認してみるから待って.

2014-09-11 10:56:52
tagomoris @tagomoris

@repeatedly periodical checkpointあるらしいですよ

2014-09-11 10:57:18
SKS rep @repeatedly

@tagomoris それ,Spark SQLユーザからはどうやって指定するんでしょ…クエリ内に書く?それともなんか別でセットアップしてからクエリを投げる?

2014-09-11 10:58:22
Sadayuki Furuhashi @frsyuki

@oza_x86 @repeatedly 逆に永続化しない場合だと、中間結果はストリーミングで次のノードにmemory-to-memoryで順次渡されていく感じです?

2014-09-11 10:58:46
tagomoris @tagomoris

@repeatedly Sparkのレイヤが勝手にやるはず。より細かいチューンができるかどうかは知らない。

2014-09-11 10:59:09
SKS rep @repeatedly

@tagomoris ほぅ.なんだかんだでSparkも永続化まわり色々やるようになってますなぁ

2014-09-11 11:04:36
Takuya UESHIN @ueshin

..ooO ( Periodical Checkpoint ってどの機能のことだろう・・・。

2014-09-11 11:08:22
oza @oza_x86

@frsyuki @repeatedly これが意外なことに,今のとこ基本全部永続化するっぽい.In Memory での reduce 側の merge はあるけどね.なのでスケジューラも基本的にデッドロックとかはしないかな.

2014-09-11 12:12:12
oza @oza_x86

@repeatedly 今のとこ全部書くので explain では表示されないのを確認した.あと通信方法(broadcast, one-to-one, scatter-gather: これはshuffleのこと)は表示される.

2014-09-11 12:15:33
SKS rep @repeatedly

@oza_x86 @frsyuki つまり,さっきのでいうと,Tez側の図のエッジ間はとりあえず今の所は全部永続化されている?けどDAGだしランレングスとかで中間データを効率よくもっているしで,高速化はされているという感じ?

2014-09-11 12:17:20
SKS rep @repeatedly

Tez,それなら結構安定してジョブを実行できるのでは?

2014-09-11 12:19:28
Sadayuki Furuhashi @frsyuki

@oza_x86 @oza_x86 その基本全部永続化するのは悪くないような。Faster MapReduce(※ただしオプティマイザのアーキテクチャが違うよ!)みたいな捉え方で問題ないということですよね。

2014-09-11 12:56:49
Sadayuki Furuhashi @frsyuki

インメモリ処理ならPrestoでいいしな。

2014-09-11 12:58:24