NEW
Also known as: Spark
Open-source unified analytics engine for large-scale distributed data processing and streaming.
DESCRIPTION
Apache Spark is a distributed computing framework that accelerates batch, interactive, and streaming workloads. It offers resilient distributed datasets (RDDs), DataFrames, SQL, MLlib for machine learning, and GraphX. Spark runs on clusters via YARN, Kubernetes, or standalone, and integrates with HDFS, object storage, and cloud data lakes. Structured Streaming provides micro-batch and continuous processing APIs. Its in-memory execution and rich ecosystem make it a popular choice for ETL, feature engineering, and scalable analytics.
ALTERNATIVE DEFINITIONS
Apache Spark
Apache Spark™ is a unified analytics engine for large-scale data processing.
Concise tagline emphasizing unification and scale.
Wikipedia
Apache Spark is an open-source unified analytics engine for large-scale data processing, with built-in modules for streaming, SQL, machine learning, and graph processing.
Mentions modular ecosystem and multiple workloads.
RELATED TERMS
Hadoop MapReduce Regression Discontinuity Design DataFrame Apache Spark SQL Structured Streaming Spark MLlib Delta Lake Kubernetes
COMPETING TERMS
Apache Flink Hadoop MapReduce Dask
RELATIONS
- Derivations: Apache Spark SQL Apache Spark Structured Streaming
KNOWLEDGE AREAS
Data Engineering Real-time & Streaming Data Data Science Platform & Tooling Data Storage & Operations
TARGET AUDIENCE
Data Engineer Data Scientist MLOps Engineer Cloud Architect Data Architect
EXTERNAL SOURCES
- Wikipedia - Apache Spark
- Apache Spark - Official Spark documentation
- Databricks - Spark on Databricks guidance
- AWS - Managed Spark on EMR
TOP QUESTIONS
What workloads fit Apache Spark best?
ETL/ELT, large-scale SQL analytics, feature engineering, and streaming pipelines are common. Spark’s in-memory computing accelerates iterative workloads.
Category: Use-case
How does Spark compare to Hadoop MapReduce?
Spark executes in memory with optimized DAGs, typically outperforming MapReduce’s disk-heavy stages on iterative tasks.
Category: Comparison
What are Spark’s core abstractions?
RDDs and higher-level DataFrames/Datasets, plus SQL, MLlib, GraphX, and Structured Streaming.
Category: Concept
How does Structured Streaming work in Apache Spark?
It treats streams as incremental DataFrames with exactly-once semantics in many sinks via checkpointing and state management.
Category: Streaming
How to optimize Spark performance?
Use predicate pushdown, partition pruning, broadcast joins, caching judiciously, and tune shuffle partitions and memory.
Category: Performance
Where can Spark run?
Standalone, YARN, Kubernetes, and cloud services like Databricks or EMR, accessing HDFS, S3, ADLS, or GCS.
Category: Platform
Is Python or Scala better for Spark?
Scala offers tightest integration and performance; PySpark provides convenience and broad data science ecosystem. Choice depends on team skills.
Category: Opinion
How does Spark ensure fault tolerance?
Lineage-based recomputation and checkpointing reconstruct lost partitions after executor failures.
Category: Reliability
What is a common mistake with Spark?
Excessive shuffles from wide transformations or skewed keys. Address with repartitioning, salting, and join strategy selection.
Category: Mistakes