MapRの勉強会『YARN, Vertica, and Spark/Shark on MapR』に参加したので、その感想をば。
普段だったら聞いた内容を詳しめに書くんだけど、今回はMapR社のCTOのSrivasさんの話だったので(当然)英語だった上に、メモを書いたノートPCを会社に置いてきてしまったのでorz、記憶に残っている部分の感想だけ^^;
→資料
まずYARNについて。
単一のMapRクラスター上でMRv1とYARNが両方とも動くらしい。プログラムの書き換えやリコンパイルすら不要だそうだ。
MRv1とYARNのそれぞれで検証してみて、MRv1でそのまま動かすか、YARNに移行するかが選べるという。すごいね!
(でもYARNはまだまだの技術らしいけど(爆))
Tangoというものも説明していた。(追記:MapR Omniに改名されたらしい)
MapRクラスター上で稼動する色々なプロダクトの起動・停止・再起動や監視を行うものらしい。
MapRにはwardenという起動停止監視を行うサービスが居るんだけど、wardenはMapR関連のプロセスだけが対象らしい。
で、それを色々なプロダクトでも使用できるよう汎用的にしたのがTangoらしい。
設定ファイルのサンプルの中に起動シェルとか停止シェルのパスが書かれていたので、単純にそれらを呼び出すだけなのかもしれないが^^;
今回の自分の一番の興味は、なんと言ってもSparkだった。
SparkはHadoop(MapReduce)とは別の分散処理基盤(だから注目しているという訳)だが、データ(ファイル)の置き場としてはHadoopのHDFSを使うことも出来る。
したがって、MapR FS上でも動くということなのだろう。
Sharkはあまり知らないけど、SQLで書いたものをSparkのDSLに変換するものらしい。(oza_x86さんの資料に詳しいw)
Spark Streamingは初耳だった。リアルタイム処理用のフレームワークらしい。
「Sparkはメモリー内にデータを置いて処理するので、ディスクアクセスするHDFSでは効果が高いが、逆にそこが速いMapR FSでは相対的にSparkの利点が減るのではないか」という質問はなかなか興味深かった。Srivasさんからの回答はそこからずれてたような気がしたけど、自分の英語力が足りなかっただけかもしれないorz
HP Verticaは名前くらいしか知らなかったけど、DBMSらしい。RDBなのかな?
HDFSのローカリティーを考慮したクエリー実行を行ってくれるそうだ。ほほう。
SQLでHDFSにアクセスするプロダクトもいつの間にか増えていて。
Hive・Impala・Drill・Shark・Presto
(個人的には、(SQLはRDBMSのテーブルを操作する言語だから)SQLでファイル操作するのは違和感があるんだけど。まぁファイルを読み込む手段はgrepを使ってもawkを使っても何でもいいので、select文で読み込んでもいいのかな^^;)
一番最後に質問していたGuutaraさんによると、まずHiveは駄目で^^;、Sharkは落ちるから使い物にならなくて、Drillはソースが公開されてないから?駄目で、Prestoを使っているらしい。
(追記:Hiveを使ってはいるが駄目な部分があるので、それを補えるものを探しているという事だそうです。SharkはSpark上で動いており、確保したメモリーより大きいサイズのデータを読むとSparkが落ちるんだそうです^^;)
昨日(MapR勉強会の前日)もPrestoの勉強会(ソースコードリーディング)があったみたいだし、Prestoは良い感じなのかな?
逆にSharkはまだそんな感じなのか^^;
まぁ、Srivasさんによれば、今有名になっているファイルシステムも4~5年かかってこうなったのだし、OSSのプロダクトはリリースされた直後はテスト開始って感じらしいので(笑)、Shark/Sparkもこれからということなんだろう。優れた要素が1%はあるらしいから(爆)
(超余談だけど、生の英語をあまり聞く機会がないんで、「SQL」を本当に「シークエル」って発音してたのには驚いたw)
どうもありがとうございました。