Book Image

PySpark Cookbook

By : Denny Lee, Tomasz Drabas
Book Image

PySpark Cookbook

By: Denny Lee, Tomasz Drabas

Overview of this book

Apache Spark is an open source framework for efficient cluster computing with a strong interface for data parallelism and fault tolerance. The PySpark Cookbook presents effective and time-saving recipes for leveraging the power of Python and putting it to use in the Spark ecosystem. You’ll start by learning the Apache Spark architecture and how to set up a Python environment for Spark. You’ll then get familiar with the modules available in PySpark and start using them effortlessly. In addition to this, you’ll discover how to abstract data with RDDs and DataFrames, and understand the streaming capabilities of PySpark. You’ll then move on to using ML and MLlib in order to solve any problems related to the machine learning capabilities of PySpark and use GraphFrames to solve graph-processing problems. Finally, you will explore how to deploy your applications to the cloud using the spark-submit command. By the end of this book, you will be able to use the Python API for Apache Spark to solve any problems associated with building data-intensive applications.
Table of Contents (13 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Preparing the data


The example scenario we will use for the cookbook is on-time flight performance data (that is, flights scenario) that will make use of two sets of data:

  • Airline On-Time Performance and Causes of Flight Delays, available at http://bit.ly/2ccJPPM. These datasets contain information about scheduled and actual departure and arrival times of flights, and the delay causes. The data is represented as reported by US air carriers and is collected by the Office of Airline Information, Bureau of Transportation Statistics (BTS).
  • OpenFlights, airport and airline data available at http://openflights.org/data.html. This dataset contains the list of US airport data, including the IATA code, airport name, and airport location.

We will create two DataFrames: one for the airports and one for the flights. The airports DataFrame will make up our vertices and the flights DataFrames will represent all the edges of our GraphFrame.

Getting ready

If you are running this locally, please copy the linked...