This book provides a very comprehensive treatment of Spark Streaming. It begins with Spark installation and configuration and setting up your IDE (Eclipse) and goes all the way to packaging your Streaming application and deploying (standalone / Yarn / Mesos) and monitoring your application. It uses a Distributed Log Processing example to demonstrate various functionalities as one proceeds through the book. For external input and output, the book provides examples for Flume and Cassandra respectively. It also provides an example of integrating Streaming with GraphX. Examples are provided in both Java and Scala. The book also has quite a bit of theory about Spark to explain the reasoning behind Streaming configuration choices, as well as background to DStreams and windowing.
Overall the book should be a useful guide to anyone building Spark Streaming applications, either in Java or Scala. If you are already familiar with Spark, some of the material may be redundant, but the book is aimed at people who are new to Spark and who want to get into Spark Streaming.
DISCLAIMER: I was one of the reviewers of this book (during publishing). However, I have tried to provide an unbiased review. Hopefully readers of the review will feel the same way.
Authors of this book focus more on broadly introducing spark streaming rather than providing deep knowledge. Code samples are quite ok besides the lengthy comments which are being duplicated most of the time. One thing I still can't understand is why the book contains so many information about configuring and starting spark, flume and others in standalone mode. Rather describing that I think it would be better to provide appendix on that and focus only on logic in a local jvm environment - the book was supposed to learn on how to write spark streaming based processes. Another thing I really missed was actually some sort of examples explaining how to deal with statefull processing.