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.

 

Banner

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.

Banner


Python All-in-One, 3rd Ed (For Dummies)

Authors: John Shovic and Alan Simpson
Publisher: For Dummies
Date: April 2024
Pages: 720
ISBN: 978-1394236152
Print: 1394236158
Kindle: B0CW1C834N
Audience: People wanting to learn Python
Rating: 2
Reviewer: Mike James
All-in-one refers to the fact that this is seven books put together - why?



Oracle PL/SQL By Example, 6th Ed

Author: Elena Rakhimov
Publisher: Oracle Press
Pages: 480
ISBN: 978-0138062835
Print: 0138062838
Audience: Developers interested in Oracle PL/SQL
Rating: 4
Reviewer: Kay Ewbank

This is the sixth edition of a well established title that has been updated for the latest version of PL/SQL (21c).


More Reviews

 

 

Last Updated ( Tuesday, 23 October 2018 )