Spark is an analytical layer that sits on top of various backends. Typically works in-memory which is why it is faster than Hadoop.
Multi-language (Scala, Java, Python), and works with multiple backends.