如何使用 Scala 在 Spark Streaming 中获取两个 DStream 的笛卡尔积?

How to get the cartesian product of two DStream in Spark Streaming with Scala?

我有两个 DStream。让 A:DStream[X]B:DStream[Y].

我想得到它们的笛卡尔积,换句话说,一个新的C:DStream[(X, Y)] 包含所有 XY 值对。

我知道 RDD 有一个 cartesian 函数。我只能找到 this similar question,但它在 Java 中,所以没有回答我的问题。

链接问题答案的 Scala 等效项(忽略 Time v3,此处未使用)是

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

或更短

A.transformWith(B, (_: RDD[X]).cartesian(_: RDD[Y]))