Apache Spark is a fast and general-purpose cluster computing system. It is compatible with Apache Hadoop but can be up to 100x faster. Spark uses Resilient Distributed Datasets (RDDs) that can be operated on in parallel. Key concepts include transformations that create new RDDs from existing ones, and actions that return values to the driver program. Spark is written in Scala and supports Java, Scala, and Python APIs. It has a growing ecosystem of tools including Spark Streaming, MLlib, and GraphX.