Develop large-scale distributed data processing applications using Spark 2 in Scala and Python About This Book - This book offers an easy introduction to the Spark framework published on the latest version of Apache Spark 2 - Perform efficient data processing, machine learning and graph processing using various Spark components - A practical guide aimed at beginners to get them up and running with Spark Who This Book Is For If you are an application developer, data scientist, or big data solutions architect who is interested in combining the data processing power of Spark from R, and consolidating data processing, stream processing, machine learning, and graph processing into one unified and highly interoperable framework with a uniform API using Scala or Python, this book is for you. What You Will Learn - Get to know the fundamentals of Spark 2 and the Spark programming model using Scala and Python - Know how to use Spark SQL and DataFrames using Scala and Python - Get an introduction to Spark programming using R - Perform Spark data processing, charting, and plotting using Python - Get acquainted with Spark stream processing using Scala and Python - Be introduced to machine learning using Spark MLlib - Get started with graph processing using the Spark GraphX - Bring together all that you've learned and develop a complete Spark application In Detail 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. Style and approach Learn about Spark's infrastructure with this practical tutorial. With the help of real-world use cases on the main features of Spark we offer an easy introduction to the framework.
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.