Как объединить три DStreams в потоковой передаче Spark с использованием Python - PullRequest
1 голос
/ 23 мая 2019

У меня есть три производителя кафки, которые отправляют потоки данных на одну и ту же тему с произвольными интервалами в 5-10 секунд. Есть потребитель Spark (на основе Python), который потребляет данные.

Требуется сначала разделить входящий поток на 3 отдельных потока в получателе, а затем объединить их на основе столбца. Производители разработаны с использованием Python.

Мне удалось разделить входящий поток данных на 3 отдельных потока в Python. Тем не менее, я сталкиваюсь с проблемой объединения всех трех вместе на основе ключа, который является первым значением во входящем потоке данных.

Когда я присоединяюсь к 2 потокам, соединение работает, как и ожидалось. Однако, когда я присоединяюсь ко всем трем потокам, я не получаю никакого вывода.

P1.LeftOuterJoin(P2) # works
P1.LeftOuterJoin(P3) # works
P2.Join(P3) # works

P1.LeftOuterJoin(P2.Join(P3)) # no output coming up
...