Book Image

Learning PySpark

By : Tomasz Drabas, Denny Lee
Book Image

Learning PySpark

By: Tomasz Drabas, Denny Lee

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. This book will show you how to leverage the power of Python and put it to use in the Spark ecosystem. You will start by getting a firm understanding of the Spark 2.0 architecture and how to set up a Python environment for Spark. You will get familiar with the modules available in PySpark. You will learn how to abstract data with RDDs and DataFrames and understand the streaming capabilities of PySpark. Also, you will get a thorough overview of machine learning capabilities of PySpark using ML and MLlib, graph processing using GraphFrames, and polyglot persistence using Blaze. Finally, you will learn how to deploy your applications to the cloud using the spark-submit command. By the end of this book, you will have established a firm understanding of the Spark Python API and how it can be used to build data-intensive applications.
Table of Contents (20 chapters)
Learning PySpark
Credits
Foreword
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Simple DataFrame queries


Now that you have created the swimmersJSON DataFrame, we will be able to run the DataFrame API, as well as SQL queries against it. Let's start with a simple query showing all the rows within the DataFrame.

DataFrame API query

To do this using the DataFrame API, you can use the show(<n>) method, which prints the first n rows to the console:

Tip

Running the.show() method will default to present the first 10 rows.

# DataFrame API
swimmersJSON.show()

This gives the following output:

SQL query

If you prefer writing SQL statements, you can write the following query:

spark.sql("select * from swimmersJSON").collect()

This will give the following output:

We are using the .collect() method, which returns all the records as a list of Row objects. Note that you can use either the collect() or show() method for both DataFrames and SQL queries. Just make sure that if you use .collect(), this is for a small DataFrame, since it will return all of the rows in the DataFrame and move them...