Data Analytics With Spark Using Python

Author: Jeffrey Aven
Publisher: Addison Wesley
Pages: 320
ISBN: 978-0134846019
Print: 013484601X
Kindle:  B07D3BP8C8
Audience: Python developers wanting to learn Spark
Rating: 4.4
Reviewer: Kay Ewbank

Spark is increasingly popular in the world of big data, and this book sets out how to work with it and its related technologies using Python.

The author is obviously a Python enthusiast, saying that Python experience is useful but not strictly necessary as Python is quite intuitive for anyone with any programming experience whatsoever. Whether you agree with this depends on how much you like Python! The examples are all in Python and largely use the PySpark Python API for Spark. Topics range from core Spark programming to Spark SQL, streaming, and machine learning. The broader ecosystem is also covered - Hadoop, Kafka, Cassandra and so on. 

The book starts off with an introduction to big data, Hadoop and Spark, followed by chapters on deploying Spark, understanding the Spark Cluster architecture, and learning Spark programming basics. All of this is probably necessary, especially the chapter on Spark programming basics, which explains the concept of RDDs (Resilient Distributed Datasets), how to get data into them and work on the data once it's there.



Part Two of the book looks in more detail at each of the elements to programming Spark, starting with the Spark Core API. Topics include partitioning data, data sampling, and optimizing Spark. There's a good chapter on SQL and NoSQL programming with Spark that looks at Hive and using DataFrames for SQL, then goes on to look at using Spark with HBase, Cassandra,, and DynamoDB. Each of these gets a couple of pages, so you're not going to get really deep into how to use Spark with them. Typically, there's an introduction to the database, a listing and explanation on creating a table and inserting some data, scanning a table, updating a cell, and advice on what other packages to use with that combination. You then get exercises to see whether you can do the tasks covered so far.



A chapter on stream processing and messaging using Spark covers the use of DStreams, structured streaming, and using Spark with Kafka and Amazon Kinesis Streams. The book ends with a chapter on data science and machine learning using Spark that looks at the use of Spark and R as well as machine learning using Spark MLib, and using Jupyter notebooks and Apache Zeppelin notebooks .

Overall, this seems a good introduction to using Spark via Python. Each topic is introduced fairly briefly, so you see how to do the basics but don't learn more advanced techniques, but you should know enough to get started. I'd have preferred a bit more on each topic, but given the very wide ecosystem of Spark, that might have resulted in a massive book, and what is covered works well.

For recommendations of books on big data, see Reading Your Way Into Big Data. For recommendations of Python books see Books for Pythonistas and Python Books For Beginners in our Programmer's Bookshelf section.


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


SQL Server 2022 Query Performance Tuning (Apress)

Author: Grant Fritchey
Publisher: Apress
Pages: 745
Audience: DBAs & SQL Devs
Rating: 4.7
Reviewer: Ian Stirk 

A popular performance tuning book gets updated for SQL Server 2022, how does it fare?

Computer Graphics from Scratch (No Starch Press)

Author: Gabriel Gambetta
Publisher: No Starch Press
Pages: 248
ISBN: 978-1718500761
Print: 1718500769
Kindle: B085BVJG5B
Audience: People interested in creating 3D graphics
Rating: 5
Reviewer: Kay Ewbank

This is a well written book that explains the topic of 3D rendering, and tries its hardest to mi [ ... ]

More Reviews



Last Updated ( Tuesday, 23 October 2018 )