Spark Meetupに参加してきた
Hadoop Conference Japan 2014でSparkが紹介されていて気になっていたのと、YAPCでSlacaを知ったのもあり、興味があるというだけで参加することに。
正直、SparkのコミッターであるAaron Davidsonさんの話は英語力がないせいであまり理解ができず・・・。英語云々の前に日本語で話されたとしても技術的な理解が不十分だったと思う。今後ますますこういう機会が増えるんだろうな。
まとめはこちら SparkMeetup - Togetterまとめ
Failing Gracefully: Achieving Fault Tolerance in Spark
Databricks の Aaron Davidson さんの spark summit 2014 でのスライドとビデオ #sparkmeetup
http://t.co/Fen2OmxDM1
https://t.co/bldk0VqEO6
— Makoto Sasaki (@makoto78sasaki) 2014, 9月 9
SparkSQLおよびCatalystの紹介
@ueshinさん
サンプルはGistに貼ってあります。 https://t.co/R7DkbujMqu #sparkmeetup
— Takuya UESHIN (@ueshin) 2014, 9月 8
Spark GraphX
その他
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まわりは複雑だけれど、分散処理関係はますます複雑なっていくんだろうな。理解するのが大変。