ponkiti's blog

主に自分用、イベント参加メモや備忘録として利用

Spark Meetupに参加してきた

Hadoop Conference Japan 2014でSparkが紹介されていて気になっていたのと、YAPCでSlacaを知ったのもあり、興味があるというだけで参加することに。

正直、SparkのコミッターであるAaron Davidsonさんの話は英語力がないせいであまり理解ができず・・・。英語云々の前に日本語で話されたとしても技術的な理解が不十分だったと思う。今後ますますこういう機会が増えるんだろうな。

まとめはこちら SparkMeetup - Togetterまとめ

Failing Gracefully: Achieving Fault Tolerance in Spark

SparkSQLおよびCatalystの紹介

@ueshinさん

Spark GraphX

@teppei_tosaさん

その他

Scalaだけかと思ったらここに「Write applications quickly in Java, Scala or Python.」と書いてあった。Pythonにも対応しているらしい。

Apache Sparkの立ち位置が分からなかったので調べてみると、SparkはHadoopを補完するもので、従来のHadoopでの処理方式がMapReduceだけであったのに対して、Hadoop2以降はMapReduceの代わりにTezやSparkを使用することができるとあった。

TezやSparkはDAG(Database Availability Group、有向非循環グラフ)ベースの並列処理エンジン。処理のたびにディスクへの書き込みが発生するMapReduceと異なり、インメモリ処理が可能となることで処理が高速化する。Sparkを利用してHiveを実行すると、MapReduce利用時に比べて最大で100倍も高速化するのは、ディスク書き込み処理とインメモリ処理の違いのようだ。

ちなみにImpalaやDrillは(Prestoもか?)、MapReduceやSpark、Tezを使わないクエリ(SQL)エンジンで、リアルタイムで処理できるらしい。

もともとHadoopまわりは複雑だけれど、分散処理関係はますます複雑なっていくんだろうな。理解するのが大変。