AXS: A framework for fast astronomical data processing based on Apache Spark
arXiv:1905.09034 · doi:10.3847/1538-3881/ab2384
Abstract
We introduce AXS (Astronomy eXtensions for Spark), a scalable open-source astronomical data analysis framework built on Apache Spark, a widely used industry-standard engine for big data processing. Building on capabilities present in Spark, AXS aims to enable querying and analyzing almost arbitrarily large astronomical catalogs using familiar Python/AstroPy concepts, DataFrame APIs, and SQL statements. We achieve this by i) adding support to Spark for efficient on-line positional cross-matching and ii) supplying a Python library supporting commonly-used operations for astronomical data analysis. To support scalable cross-matching, we developed a variant of the ZONES algorithm (Gray et al. 2004) capable of operating in distributed, shared-nothing architecture. We couple this to a data partitioning scheme that enables fast catalog cross-matching and handles the data skew often present in deep all-sky data sets. The cross-match and other often-used functionalities are exposed to the end users through an easy-to-use Python API. We demonstrate AXS' technical and scientific performance on SDSS, ZTF, Gaia DR2, and AllWise catalogs. Using AXS we were able to perform on-the-fly cross-match of Gaia DR2 (1.8 billion rows) and AllWise (900 million rows) data sets in ~ 30 seconds. We discuss how cloud-ready distributed systems like AXS provide a natural way to enable comprehensive end-user analyses of large datasets such as LSST.
References in corpus (6)
- A Synoptic Map of Halo Substructures from the Pan-STARRS1 3π Survey
- A Map of Dust Reddening to 4.5 kpc from Pan-STARRS1
- Gaia Data Release 1. Cross-match with external catalogues - Algorithm and results
- Mapping the Extinction Curve in 3D: Structure on Kiloparsec Scales
- 3D Dust Mapping Reveals that Orion Forms Part of a Large Ring of Dust
- Probabilistic Cross-Identification in Crowded Fields as an Assignment Problem