Подсчет записей Spark RDD и Incoordination веб-интерфейса Spark Streaming - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь создать поток в Spark, который получает данные от Кафки. Когда я проверяю количество записей в RDD, кажется, что это не то же самое, что веб-интерфейс.

Я выполняю функцию для всех RDD в DStream (коды генерируются в Python):

rdds = KafkaUtils.createStream(...)
rdds = rdds.repartition(1)
rdds.foreachRDD(doJob)

И у меня есть функция doJob al oop и счетчик

def doJob(time, p_rdd):
    if not p_rdd.isEmpty:
        batch_count = 0
        ...
        ...
        rdd_collected = p_rdd.collect()
        for record in rdd_collected:
            ...
            ...
            batch_count = batch_count + 1
        log("Count: " + str(batch_count))

Я ожидаю, что batch_count должно быть таким же, как http: // webui.adress / my_app_id / Страница потоковой передачи -> Раздел «Завершенная партия» -> Размер ввода. Но, похоже, это не так. Где я должен проверить количество записей RDD в веб-интерфейсе, я что-то упустил?

Спасибо.

1 Ответ

0 голосов
/ 16 апреля 2020

Я думаю, что это неправильно. Должно быть так же. Я использовал такие логи c, и, похоже, они правильно соответствуют обработанным мною записям.

Вы можете проверить их в http://webui.adress/my_app_id/Streaming в Completed Batches -> Records в той же потоковой таблице в пользовательском интерфейсе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...