Track Awesome Spark Updates Weekly
A curated list of awesome Apache Spark packages and resources.
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 awesome-spark/awesome-spark · ⭐ 1.7K · 🏷️ Big Data
Sep 30 - Oct 06, 2024
Packages / Language Bindings
- spark-connect-rs (⭐76) - Rust bindings.
- spark-connect-go (⭐145) - Golang bindings.
- spark-connect-rs (⭐1) - C# bindings.
Apr 17 - Apr 23, 2023
Packages / Middleware
- Apache Kyuubi (⭐2.1k) - A distributed multi-tenant JDBC server for large-scale data processing and analytics, built on top of Apache Spark.
Resources / Docker Images
- apache/spark - Apache Spark Official Docker images.
Feb 27 - Mar 05, 2023
Packages / Language Bindings
- Kotlin for Apache Spark (⭐457) - Kotlin API bindings and extensions.
Dec 27 - Jan 02, 2021
Packages / GIS
- Apache Sedona (⭐1.9k) - Cluster computing system for processing large-scale spatial data.
Dec 20 - Dec 26, 2021
Packages / Machine Learning Extension
- MLflow - Machine learning orchestration platform.
Dec 06 - Dec 12, 2021
Packages / General Purpose Libraries
- Joblib Apache Spark Backend (⭐242) -
joblib
backend for running tasks on Spark clusters.
Packages / Storage
- lakeFS - Integration with the lakeFS atomic versioned storage layer.
Resources / Docker Images
- datamechanics/spark - An easy to setup Docker image for Apache Spark from Data Mechanics.
Nov 29 - Dec 05, 2021
Packages / Notebooks and IDEs
- Polynote - Polynote: an IDE-inspired polyglot notebook. It supports mixing multiple languages in one notebook, and sharing data between them seamlessly. It encourages reproducible notebooks with its immutable data model. Originating from Netflix.
Packages / Machine Learning Extension
- Microsoft ML for Apache Spark (⭐5.1k) - A distributed ml library with support for LightGBM, Vowpal Wabbit, OpenCV, Deep Learning, Cognitive Services, and Model Deployment.
Packages / Natural Language Processing
- spark-nlp (⭐3.8k) - Natural language processing library built on top of Apache Spark ML.
Resources / Papers
- Structured Streaming: A Declarative API for Real-Time Applications in Apache Spark - Structured Streaming is a new high-level streaming API, it is a declarative API based on automatically incrementalizing a static relational query.
Aug 16 - Aug 22, 2021
Packages / General Purpose Libraries
- Apache DataFu (⭐115) - A library of general purpose functions and UDF's.
Aug 09 - Aug 15, 2021
Packages / General Purpose Libraries
- spark-daria (⭐750) - A Scala library with essential Spark functions and extensions to make you more productive.
- quinn (⭐626) - A native PySpark implementation of spark-daria.
Resources / Books
- Learning Spark, 2nd Edition - Introduction to Spark API with Spark 3.0 covered. Good source of knowledge about basic concepts.
Mar 15 - Mar 21, 2021
Packages / Monitoring
- Data Mechanics Delight (⭐341) - Cross-platform monitoring tool (Spark UI / Spark History Server replacement).
Feb 15 - Feb 21, 2021
Packages / General Purpose Libraries
- itachi (⭐53) - A library that brings useful functions from modern database management systems to Apache Spark.
Nov 09 - Nov 15, 2020
Packages / Storage
- Delta Lake (⭐7.5k) - Storage layer with ACID transactions.
Oct 12 - Oct 18, 2020
Packages / Interfaces
- Koalas (⭐3.3k) - Pandas DataFrame API on top of Apache Spark.
Oct 05 - Oct 11, 2020
Packages / Language Bindings
- Mobius (⭐943) - C# bindings (Deprecated in favor of .NET for Apache Spark).
- .NET for Apache Spark (⭐2k) - .NET bindings.
Packages / Utilities
- pyspark-stubs (⭐115) - Static type annotations for PySpark (obsolete since Spark 3.1. See SPARK-32681).
Sep 28 - Oct 04, 2020
Packages / Utilities
- Optimus (⭐1.5k) - Data Cleansing and Exploration utilities with the goal of simplifying data cleaning.
Resources / Papers
- Large-Scale Intelligent Microservices - Microsoft paper that presents an Apache Spark-based micro-service orchestration framework that extends database operations to include web service primitives.
Jul 20 - Jul 26, 2020
Packages / Middleware
- Livy (⭐881) - REST server with extensive language support (Python, R, Scala), ability to maintain interactive sessions and object sharing.
Dec 16 - Dec 22, 2019
Packages / Testing
- deequ (⭐3.3k) - Deequ is a library built on top of Apache Spark for defining "unit tests for data", which measure data quality in large datasets.
Dec 02 - Dec 08, 2019
Packages / Notebooks and IDEs
Jan 28 - Feb 03, 2019
Packages / Web Archives
- Archives Unleashed Toolkit (⭐137) - Open-source toolkit for analyzing web archives.
Aug 13 - Aug 19, 2018
Packages / Language Bindings
- sparklyr (⭐948) - An alternative R backend, using
dplyr
.
- sparkle (⭐447) - Haskell on Apache Spark.
Packages / Notebooks and IDEs
- Apache Zeppelin - Web-based notebook that enables interactive data analytics with plugable backends, integrated plotting, and extensive Spark support out-of-the-box.
- sparkmagic (⭐1.3k) - Jupyter magics and kernels for working with remote Spark clusters, for interactively working with remote Spark clusters through Livy (⭐1k), in Jupyter notebooks.
Packages / SQL Data Sources
- Spark XML (⭐501) - XML parser and writer.
- Spark Cassandra Connector (⭐1.9k) - Cassandra support including data source and API and support for arbitrary queries.
- Mongo-Spark (⭐708) - Official MongoDB connector.
Packages / Bioinformatics
- ADAM (⭐997) - Set of tools designed to analyse genomics data.
- Hail (⭐974) - Genetic analysis framework.
Packages / Graph Processing
- GraphFrames (⭐996) - Data frame based graph API.
- neo4j-spark-connector (⭐312) - Bolt protocol based, Neo4j Connector with RDD, DataFrame and GraphX / GraphFrames support.
Packages / Machine Learning Extension
- Apache SystemML - Declarative machine learning framework on top of Spark.
- Mahout Spark Bindings [status unknown] - linear algebra DSL and optimizer with R-like syntax.
- JPMML-Spark (⭐94) - PMML transformer library for Spark ML.
- ModelDB - A system to manage machine learning models for
spark.ml
andscikit-learn
.
- Sparkling Water (⭐961) - H2O interoperability layer.
- BigDL (⭐6.5k) - Distributed Deep Learning library.
- MLeap (⭐1.5k) - Execution engine and serialization format which supports deployment of
o.a.s.ml
models without dependency onSparkSession
.
Packages / Middleware
- spark-jobserver (⭐2.8k) - Simple Spark as a Service which supports objects sharing using so called named objects. JVM only.
- Apache Toree (⭐738) - IPython protocol based middleware for interactive applications.
Packages / Utilities
- sparkly (⭐60) - Helpers & syntactic sugar for PySpark.
- Flintrock (⭐637) - A command-line tool for launching Spark clusters on EC2.
Packages / Streaming
- Apache Bahir - Collection of the streaming connectors excluded from Spark 2.0 (Akka, MQTT, Twitter. ZeroMQ).
Packages / Interfaces
- Apache Beam - Unified data processing engine supporting both batch and streaming applications. Apache Spark is one of the supported execution environments.
Packages / Testing
- spark-testing-base (⭐1.5k) - Collection of base test classes.
- spark-fast-tests (⭐431) - A lightweight and fast testing framework.
Packages / Workflow Management
- Cromwell (⭐989) - Workflow management system with Spark backend (⭐989).
Apr 10 - Apr 16, 2017
Resources / Papers
- Spark SQL: Relational Data Processing in Spark - Paper introducing relational underpinnings, code generation and Catalyst optimizer.
Apr 03 - Apr 09, 2017
Resources / Papers
- Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing - Paper introducing a core distributed memory abstraction.
Feb 27 - Mar 05, 2017
Resources / Books
- Advanced Analytics with Spark - Useful collection of Spark processing patterns. Accompanying GitHub repository: sryza/aas (⭐1.5k).
- Mastering Apache Spark - Interesting compilation of notes by Jacek Laskowski. Focused on different aspects of Spark internals.
- Spark in Action - New book in the Manning's "in action" family with +400 pages. Starts gently, step-by-step and covers large number of topics. Free excerpt on how to setup Eclipse for Spark application development and how to bootstrap a new application using the provided Maven Archetype. You can find the accompanying GitHub repo here (⭐273).
Resources / MOOCS
- Data Science and Engineering with Apache Spark (edX XSeries) - Series of five courses (Introduction to Apache Spark, Distributed Machine Learning with Apache Spark, Big Data Analysis with Apache Spark, Advanced Apache Spark for Data Science and Data Engineering, Advanced Distributed Machine Learning with Apache Spark) covering different aspects of software engineering and data science. Python oriented.
Resources / Workshops
- AMP Camp - Periodical training event organized by the UC Berkeley AMPLab. A source of useful exercise and recorded workshops covering different tools from the Berkeley Data Analytics Stack.
Resources / Projects Using Spark
- Oryx 2 (⭐1.8k) - Lambda architecture platform built on Apache Spark and Apache Kafka with specialization for real-time large scale machine learning.
Resources / Miscellaneous
- Spark with Scala Gitter channel - "A place to discuss and ask questions about using Scala for Spark programming" started by @deanwampler.
Oct 17 - Oct 23, 2016
Resources / Miscellaneous
- Apache Spark User List and Apache Spark Developers List - Mailing lists dedicated to usage questions and development topics respectively.
Jun 20 - Jun 26, 2016
Resources / Projects Using Spark
- Photon ML (⭐793) - A machine learning library supporting classical Generalized Mixed Model and Generalized Additive Mixed Effect Model.
- Crossdata (⭐169) - Data integration platform with extended DataSource API and multi-user environment.
Resources / Docker Images
- jupyter/docker-stacks/pyspark-notebook (⭐7.9k) - PySpark with Jupyter Notebook and Mesos client.
- sequenceiq/docker-spark (⭐765) - Yarn images from SequenceIQ.
Jun 06 - Jun 12, 2016
Packages / Machine Learning Extension
- KeystoneML - Type safe machine learning pipelines with RDDs.
Resources / MOOCS
- Big Data Analysis with Scala and Spark (Coursera) - Scala oriented introductory course. Part of Functional Programming in Scala Specialization.
Feb 01 - Feb 07, 2016
Resources / Projects Using Spark
- PredictionIO - Machine Learning server for developers and data scientists to build and deploy predictive applications in a fraction of the time.