「詳解Apache Spark」刊行
技術評論社から「詳解Apache Spark」が刊行されました!
今回、私は内容のレビューという形でこの本の出版に関わらせていただきました。
総評
Apache Sparkについてなかなか網羅的にまとめられている良本です。Sparkは情報が出てきているとはいえ、まだまだ英語ソースのものが多かったりします。また、バージョンアップのたびに様々な新機能の導入を行っており、情報が古くなりがちです。本書は1.6.0を対象に執筆されており、現時点の最新は1.6.1なのでほぼ最新の内容といえます。
Sparkの導入を考えているエンジニアはとりあえず手元に置いておいても損ないのではないでしょうか。
章立ては以下です。
- 第1章 Sparkの基礎
- 第2章 Sparkの導入
- 第3章 RDD
- 第4章 クラスタ構築と運用
- 第5章 DataFrameとSpark SQL
- 第6章 Spark Streaming
- 第7章 MLlib
- 第8章 GraphX
- Appendix YARN
RDDのようなcoreの部分はもとより、SparkSQL, Spark Streaming, MLlib, GraphXといった主要コンポーネントすべてを網羅しています。さらに、それぞれについてサラッとではなく、基礎から応用までしっかりと説明されているのがとても良いです。
個人的に良かった章
4章「クラスタ構築と運用」
YARNを利用した場合、ジョブがどのようなオブジェクトを介して、Executorで実行されるのかが図解されているのがためになります。DAGSchedulerを介してCoarseGrainedExecutorBackendを通り、最終的にExecutorのスレッドプール上でタスクが起動される、のような。
5章「DataFrameとSpark SQL」
DataFrameのAPIについて詳しく解説されておりためになりました。DataFrameのAPIについては公式ドキュメントでも最低限のことしか書かれておらず、実際に使おうとするときに困ってしまい、結局ソースコードのdocsやコードそのものを見るハメになってしまいます。
本章で紹介されているDataFrameNaFunctionsとかとても便利なんですが、普通にドキュメント読んだだけではその存在を知りえませんw
8章「MLlib」
spark.mllibと、新しいAPIであるspark.mlの両方を解説しています。また、TF-IDFやOneHotEncoderなど、特徴抽出や変換のアルゴリズムについても丁寧に解説されているのが勉強になります。ケーススタディが複数あるのも理解を助けますね。
締め
Spark SQLやMLlibを仕事で使っている私のようなある程度使っているユーザーにとってもためになる内容が多かったです。是非!