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

时间:2016-07-18 09:46:00

标签: scala spark-streaming cartesian-product dstream

我有两个DStreams。设A:DStream[X]B:DStream[Y]

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

我知道RDD有一个cartesian函数。我只能找到this similar question,但它是用Java编写的,所以不回答我的问题。

1 个答案:

答案 0 :(得分:1)

Scala相当于链接问题的答案(忽略Time v3,这里没有使用)

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

或更短

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