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

Apache Spark & Geodata

Learn to use Apache Spark (with PySpark) for Big Data GeoAnalytics of OpenStreetMap and other Geospatial Data

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

  • Share this book

  • Categories

    • Data Science
    • Python
    • AWS
    • Databases
  • Installments completed

    2 / 3

  • Feedback

    Email the Author(s)

About the Authors

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.

Dr. Kashif Rasul
Dr. Kashif Rasul

I have a PhD. in Mathematics from the Freie Universität Berlin and in parallel to this I have been working as a software developer in the area of location based services and geospatial web application development. Together with Shoaib, we were among the first developers to use Ruby/Rails with the open source geospatial stack at the time, and we have extensive experience in this area. I have also worked on PostGIS, the geospatial extension to PostgreSQL and developed APIs from it to be consumed by mobile applications for geo-fencing and real-time triggers. We have also talked and presented in depth about developing geospatial web applications at conferences like RailsConf, FOSS4G and other local meetups.

You can follow me on Github: kashif or Twitter: @krasul


The Book + Github Repo Access
  • PDF

  • EPUB

  • WEB

  • English

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

  • PDF

  • EPUB

  • WEB

  • English

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

The Leanpub 60 Day 100% Happiness Guarantee

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

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

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) and EPUB (for phones, tablets and 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. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub