В Spark Streaming и Spark структурированной потоковой передаче используется один и тот же механизм микро-пакетного планировщика
Конечно, нет.Они отличаются друг от друга внутренне, но имеют одни и те же концепции высокого уровня для потока и записи.
В Spark Structured Streaming вы можете приблизиться к тому, что было в Spark Streaming, используя DataStreamWriter.foreach
или DataStreamWriter.foreachBatch
методов.
Основное отличие состоит в том, как описать потоковый конвейер.В Spark Structured Streaming вы используете API набора данных Spark SQL, а Spark Streaming делает ставку на RDD API Spark Core.Оба заканчивают как вычисления на основе RDD, но Spark SQL использует абстракции более высокого уровня (например, Dataset
API).
Используют ли они оба "механизм микропроцессорного планировщика"?Да, но Spark Structured Streaming пытается использовать некоторые источники данных, которые могут запрашиваться непрерывно (без микропакетирования).
имеет ли Spark Structured Streaming меньшую задержку, чем Spark Streaming?
Было бы сложно ответить.Создатели Spark Streaming решили разработать Spark Structured Streaming и надеются улучшить производительность запросов и выразительность.Spark Streaming больше не рекомендуется.