How is Apache Spark different from MapReduce?

a) MapReduce allows interactive operations but Spark disallows interactive operations.
b) MapReduce stores data in HDFS (Hadoop Distributed File System) which makes it take a long time to get the data but Spark stores data in memory ( RAM) which makes it easier and faster to retrieve data when needed.
c) MapReduce allows iterative operations but Spark disallows iterative operations.
d) MapReduce highly depends on disk which makes it to be a high latency framework but Spark supports in memory data storage and caching and makes it a low latency computation framework.