Spark Streaming is a framework for scalable, fault-tolerant stream processing of data in motion. It allows processing of live data streams using the same programming model as regular batch processing. Spark Streaming receives live input data streams, discretizes them into batches called DStreams, and processes the data using transformations like map, reduce, join and windowing.