Создает ли один пакетный интервал данных один и только один RDD в DStream независимо от того, насколько велик объем данных?
Сколько RDD генерирует DStream за пакетный интервал?
Ответы (3)
Да, существует ровно один RDD на интервал пакета, созданный на каждом интервале пакета, независимо от количества записей (которые включены в RDD - внутри может быть ноль записей).
Если бы этого не было, а создание RDD зависело бы от количества элементов, у вас не было бы синхронной (микропакетной) потоковой передачи, а скорее было бы формой асинхронной обработки.
Уже поздно отвечать в этой ветке. Но все же стоит добавить еще несколько пунктов. Количество RDD зависит от того, сколько приемников у вас есть в вашем приложении. Вот почему "sparkContext.read" будет иметь несколько RDD. Но если у вас есть только один приемник или Kafka в качестве источника (без приемника), вы получите только один RDD.
В Руководство по программированию потоковой передачи Spark - дискретные потоки (DStreams) есть:
Каждый RDD в DStream содержит данные из определенного интервала.