GeoSpark

Jia Yu, Jinxuan Wu, Mohamed Sarwat

2015 · 341 citations · 11 references

Concepts

TL;DR

Apache Spark provides core functionalities for loading, storing, and manipulating data via RDD operations. This paper introduces GeoSpark, an in‑memory cluster computing framework designed to process large‑scale spatial data. GeoSpark is structured into three layers—an Apache Spark layer, a Spatial RDD layer that extends RDDs with SRDDs for geometric objects and basic operations, and a Spatial Query Processing layer that executes efficient spatial queries and supports spatial indexing such as R‑tree and Quad‑tree. Preliminary experiments demonstrate that GeoSpark outperforms Hadoop‑based spatial systems like SpatialHadoop in runtime performance.

Abstract

This paper introduces GeoSpark an in-memory cluster computing framework for processing large-scale spatial data. GeoSpark consists of three layers: Apache Spark Layer, Spatial RDD Layer and Spatial Query Processing Layer. Apache Spark Layer provides basic Spark functionalities that include loading / storing data to disk as well as regular RDD operations. Spatial RDD Layer consists of three novel Spatial Resilient Distributed Datasets (SRDDs) which extend regular Apache Spark RDDs to support geometrical and spatial objects. GeoSpark provides a geometrical operations library that accesses Spatial RDDs to perform basic geometrical operations (e.g., Overlap, Intersect). System users can leverage the newly defined SRDDs to effectively develop spatial data processing programs in Spark. The Spatial Query Processing Layer efficiently executes spatial query processing algorithms (e.g., Spatial Range, Join, KNN query) on SRDDs. GeoSpark also allows users to create a spatial index (e.g., R-tree, Quad-tree) that boosts spatial data processing performance in each SRDD partition. Preliminary experiments show that GeoSpark achieves better run time performance than its Hadoop-based counterparts (e.g., SpatialHadoop).

References

11