Spark Streaming: Diving into it's Architecture and Execution Model