Как получить декартово произведение двух DStream в Spark Streaming с помощью Scala?

У меня есть два DStreams. Позволять A:DStream[X] а также B:DStream[Y],

Я хочу получить декартово произведение их, другими словами, новый C:DStream[(X, Y)] содержащий все пары X а также Y ценности.

Я знаю, что есть cartesian функция для СДР. Мне удалось найти только похожий вопрос, но он на Java и поэтому не отвечает на мой вопрос.

1 ответ

Решение

Scala-эквивалент ответа на связанный вопрос (игнорирование Time v3, который там не используется) есть

A.transformWith(B, (rddA: RDD[X], rddB: RDD[Y]) => rddA.cartesian(rddB))

или короче

A.transformWith(B, (_: RDD[X]).cartesian(_: RDD[Y]))
Другие вопросы по тегам