Локальные файлы могут использоваться в качестве источников в структурированной потоковой передаче, например:
stream = spark.readStream.schema(mySchema).option("maxFilesPerTrigger", 1).json("/my/data")
С этим вы можете очень легко поэкспериментировать с преобразованием и выводом данных, и есть много примеров наборов данных онлайн, например, на kaggle
Если вы хотите создать что-то похожее на производство, хорошим вариантом будет твиттер API. Вам понадобится какое-то промежуточное программное обеспечение для обмена сообщениями, например, Kafka или Azure Event Hub - простое приложение может отправлять туда твиты, и вы сможете легко забирать их из Spark. Вы также можете генерировать данные самостоятельно на стороне ввода, а не в зависимости от Twitter.