Apache Spark & Geodata
Apache Spark & Geodata (The Book + Github Repo Access)
Minimum price
Suggested price
Apache Spark & Geodata

This book is 80% complete

Last updated on 2017-05-11

About the Book

In this book I will very quickly introduce you to the Apache Spark stack and then get into the meat of performing a full featured geospatial analysis. Using OpenStreetMap data as our base, our end goal will be to find the most cultural city in Western Europe!

That's right! In this book we will develop our own Cultural Weight Algorithm (TM) :) and apply it to a set of major cities in Europe. The data will be analyzed using Apache Spark and in the process we will learn the following phases of Big Data projects:

  • Consuming: Retrieving raw data from REST API's (OpenStreetMap).
  • Preparation: Data exploration and schema creation of geospatial data
  • Summarize: We will query data by Location. Perform Spatial Operations such as finding Overlapping geospatial features, do joins by location, also known as Spatial Joins and finally obtain location based summary statistics to arrive at our answer regarding the cultural capital of Europe.

Here's a summary of the book. I hope you will join us on this journey of exploring one of the most exciting technology stacks to come out of the good folks at the UC Berkeley.

Why Spark?

Spark has quickly overtaken Hadoop as the front runner in big data analysis technologies. There are a number of reasons for this such as its support for developer friendly interactive mode, it's polyglot interface in Scala, Java, Python, and R, and the full stack of Algorithmic libraries that such language ecosystems offer.

Out of the box, Spark includes a powerful set of tools: such as the ability to write SQL queries, perform streaming analytics, run machine learning algorithms, and even tackle graph-parallel computations but what really stands out is its usability.

With it's interactive shells (in both Scala and Python) it makes prototyping big data applications a breeze.

Why PySpark?

PySpark provides integrated API bindings around Spark and enables full usage of the Python ecosystem within all the nodes of the Spark cluster with the pickle Python serialization and, more importantly, supplies access to the rich ecosystem of Python’s machine learning libraries such as Scikit-Learn or data processing such as Pandas.

Throughout this book I am going to use a Docker Container with the relevant libraries. Don't worry if you don't know Docker, I walk you through setting up and running Docker too

About the Author

Shoaib Burq
Shoaib Burq

I am a Geospatial Applications Developer and have worked on projects ranging from Developing Geocoders for Australian emergency response agencies to Underwater mapping for Marine Exploration. My last startup was a geospatial database as a service with an easy to use API for developers to build mobile and geolocation apps.


The Book + Github Repo Access
  • English

  • PDF

  • EPUB

  • MOBI

  • WEB

Minimum price
Suggested price
The Book + Code + 1-on-1 Slack Support

I'd like to offer anyone who want's one-on-one support the option to do so via slack. If you purchase this package I will answer any technical questions that you may have. These can be directly about the book and it's content or related to the technologies used in it, namely Spark, GeoPandas, SpatialSpark, Amazon EMR and OpenStreetMap. Please make sure you enter your email so I can add you to the Slack channel

  • English

  • PDF

  • EPUB

  • MOBI

  • WEB

Minimum price
Suggested price

About the Contributors

Zaeem Burq
Zaeem Burq


Table of Contents

  • 1. Installing Docker
    • Mac OSX
    • Windows
    • Ubuntu Linux
    • Other Unix based OS
    • Setting up the Docker instance
    • Pulling the Docker image
    • Check if the image is installed
    • Starting the Docker instance (container) with our notebooks
    • Jupyter PySpark environment
  • 2. The Data
    • The Data
    • Getting Official Statistics from EuroStat
    • Exercise: Getting Spatial Boundary Data
    • OpenStreetMap/Overpass API
    • Exercise: Getting to know OSM Data
    • OSM data on Hadoop Hive
  • 3. Chapter 2 - What are we going to do?
  • 4. What do we mean by culture/cultural score?
  • 5. GeoPandas
    • OGC SimpleFeatures
    • Exercise:
    • Preparing our data for Spatial Spark
    • Create a pyspark dataframe from GeoPanadas
  • 6. Lets look at the POI data next
    • Adding WKT attribute
  • 7. Counting Museums
  • 8. Count the number of museums in Zurich
    • Exercise
    • Solution
  • 9. Joins UDFs & Spatial Predicates
    • Advanced Dataframe API
  • 10. Joins, UDFs, Broadcast Variables, Spatial Predicate
    • Joins
    • User-Defined Functions (aka UDF)
    • Broadcast variables
    • Exercise: for each city count the number of museums
    • Adding population column
    • Calculating the score
  • 11. Spatial Spark
    • Spatial Partition
    • Spatial Range Query
  • 12. Chapter 7 - Finding the cultural capital of Europe
    • Perform Analysis on all the cultural features across all cities
    • Perform Analysis on all the cultural features across all cities
  • 13. Unique IDs
    • what have we done so far
  • 14. Visualizing the data
  • 15. Chapter 8 - Running in Production
  • Appendix: Introduction to Docker basics

Authors have earned$9,219,630writing, publishing and selling on Leanpub,
earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub