Spark is one of the most widely-used large-scale data processing engines and runs extremely fast. It is a framework that has tools that are equally useful for application developers as well as data scientists. This book starts with the fundamentals of Spark 2 and covers the core data processing framework and API, installation, and application development setup. Then the Spark programming model is introduced through real-world examples followed by Spark SQL programming with DataFrames. An introduction to SparkR is covered next. Later, we cover the charting and plotting features of Python in conjunction with Spark data processing. After that, we take a look at Spark's stream processing, machine learning, and graph processing libraries. The last chapter combines all the skills you learned from the preceding chapters to develop a real-world Spark application. By the end of this book, you will have all the knowledge you need to develop efficient large-scale applications using Apache Spark. Rajanarayanan Thottuvaikkatumana , Raj, is a seasoned technologist with more than 23 years of software development experience at various multinational companies. He has lived and worked in India, Singapore, and the USA, and is presently based out of the UK. His experience includes architecting, designing, and developing software applications. He has worked on various technologies including major databases, application development platforms, web technologies, and big data technologies. Since 2000, he has been working mainly in Java related technologies, and does heavy-duty server-side programming in Java and Scala. He has worked on very highly concurrent, highly distributed, and high transaction volume systems. Currently he is building a next generation Hadoop YARN-based data processing platform and an application suite built with Spark using Scala. Raj holds one master's degree in Mathematics, one master's degree in Computer Information Systems and has many certifications in ITIL and cloud computing to his credit. Raj is the author of Cassandra Design Patterns - Second Edition, published by Packt. When not working on the assignments his day job demands, Raj is an avid listener to classical music and watches a lot of tennis.
Spark definitely has the spotlight. Anyone into Data wants it. This resulted in many titles that are now available at our favorite online bookstore. Apache Spark 2 for Beginners, as the title itself suggests, targets professionals that are new to Spark.
My first thought after getting through the first two chapters of this book is that you can clearly see English is not the native language of the author. Not only articles are missing here and there, but there are paragraphs that are really cryptic, with the same two-three words repeated over and over.
On the other hand, you can see the author knows what he's talking about. And this causes another problem of this book: he takes for granted too many things, forgetting the readers are supposed to be newbies. I would expect this kind of critic from a reviewer, if I were an author.
All of these problems are typical of Packt Publishing's title. For those that do not know it, PP is a publish-on-demand company. They takes care of the marketing getting you a small cut of the profits. They do not care about the goodness of the content nor provide any kind of proofreading service.
Anyway, back to the book's contents. If I had to get started to Spark with this book I would have problems. Concepts are not explained in a concise way. RDDs for example, which is one of the key concepts of Spark, is never properly described even if moving through the chapters you slowly get the idea.
The chapter that I liked most was the fifth, which is more about plotting data with Python rather than Spark. And this says a lot.
Overall the examples are interesting, I must admit it. They are neither long nor complex and are explained step-by-step. They start with some fake transactions up to getting thousands of records from the Internet.
Wrapping it all up, while I appreciate the effort of the author, I think that this book doesn't help a beginner to understand the basics of Spark. On the contrary, despite the author's efforts and knowledge on the subject, it ends up creating more doubts.