Spark 2.3.1 Скорость структурированного потокового ввода - PullRequest
0 голосов
/ 02 сентября 2018

Интересно, есть ли способ указать размер мини-партии в структурированной потоковой передаче Spark. Это не просто указание интервала мини-пакета (триггеров), я хотел бы указать, сколько строк может быть в мини-пакете (DataFrame) за интервал. Есть ли способ сделать это?

Помимо общей возможности сделать это, мне особенно необходимо применить это в сценарии тестирования, где у меня есть MemoryStream. Я бы хотел, чтобы Spark потреблял определенное количество данных из MemoryStream, вместо того, чтобы брать их все сразу, чтобы на самом деле увидеть, как ведет себя все приложение в целом. Насколько я понимаю, структура данных MemoryStream должна быть заполнена перед запуском задания. Следовательно, как я могу увидеть поведение мини-пакетной обработки, может ли spark принимать все содержимое MemoryStream в пределах предоставленного мною интервала?

EDIT1

В Kafka Integration я нашел следующее:

maxOffsetsPerTrigger : ограничение скорости на максимальное количество смещений, обрабатываемых за интервал запуска. Указанное общее количество смещений будет пропорционально разделено на разделы темы различного объема.

Но это только для интеграции KAFKA. Я также видел

maxFilesPerTrigger : максимальное количество новых файлов, учитываемых в каждом триггере

Так что, похоже, вещи определены для типов источников Следовательно, есть ли способ контролировать, как данные потребляются из MEMORYSTREAM [ROW]?

1 Ответ

0 голосов
/ 02 сентября 2018

Ищите ниже, ребята, они могут решить вашу проблему:

 1.spark.streaming.backpressure.initialRate 
 2.spark.streaming.backpressure.enabled
...