如何在Scala中得到Spark Stream中两个DStream的笛卡尔乘积? [英] How to get the cartesian product of two DStream in Spark Streaming with Scala?

查看:21
本文介绍了如何在Scala中得到Spark Stream中两个DStream的笛卡尔乘积?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

我知道有一个cartesian函数用于RDDS。我只能找到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]))

这篇关于如何在Scala中得到Spark Stream中两个DStream的笛卡尔乘积?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆