Japan.RでLTしてきた話

Japan.RでLTしてきた。 SparkRというのをつかってRからSparkを操作する話

全然準備してなくて、当日の早朝に頑張ったのは今になってみてみよく間に合ったな、と思わなくもない

その場では時間切れにより話せなかった裏話など

RDDはRのアレやこれやの操作が出来ない

まぁ当然だけど、ちょっとだけ期待はあった
いや、まだやり方を見つけていないだけかもしれない

RのデータフレームのようなノリでRDDを操作できれば
いろいろ捗るわけだが、やっぱそこは難しいのかね

あと現状だとmllibもそんなに使いやすい代物ではないで...

書き方について

Rだと文法上、Sparkでよくやるmethod chainな書き方が出来ないのがつらい
ほんとつらい

関数の戻り値を変数に入れずにそのまま次の処理の関数に渡せば関数型的な書き方は出来るが
やっぱそれだとどうしてもコードがすっきりしないしね

で、結局RでSparkいじれる意味あるの?

正直な話今のところない
Spark自体結構なメモリを使うのでMapReduceなどのIOベースより
扱えるデータサイズは限られる
なので、分散システムで一次加工したデータをRで扱う見たいなことをせずに
シームレスにその辺扱いたい要望にはそれほどマッチしないだろう

Rの弱点である扱えるデータサイズが小さかったり、速度が遅かったりといった点を補えるようになるには
やっぱRを使ってる感覚で操作できて、既存のライブラリとかとの親和性みたいな部分も確保できていないとそれほどメリットはない

現状でsparkで出来ることをscalaで書くのっていい感じだし

ここだけの話

というかこの話をしようと思った頃は個人的にsparkが熱かったのだけど、
sparkって1.0が出たあたりから盛り上がってるけど、言われてる程実力が伴ってない感も若干してる
結構メモリ喰うので、ハードウェア進化的なので将来的にはかなり使えるようになったと言われる系かもねって印象である

そんなわけで、若干個人的にsparkブームが下火になってきていた今日この頃なわけだが、
まぁ、あれだ

HiveをTezの上に乗っけてRはODBC経由でデータ取得の後、いろいろデータいじくればいいんじゃね?って思った