I want to understand how data is read from text socket streams or Kafka input in Spark Streaming.
Is data read from the driver in a single thread and then disseminated to the workers? Wouldn't a single point of data reading become a bottleneck?
Do all workers read the data in parallel? If so how is the read synchronized?