Scala 如何将RDD(Spark)中的一个项目转换为RDD中的多个项目?
我从“HBase”获得具有“扫描”操作的RDD。 此RDD中的每个项目类似于:x1、y1、y2、y3。。。 因此,此RDD中的项目如下(每行都是扫描操作的一行结果):Scala 如何将RDD(Spark)中的一个项目转换为RDD中的多个项目?,scala,apache-spark,rdd,Scala,Apache Spark,Rdd,我从“HBase”获得具有“扫描”操作的RDD。 此RDD中的每个项目类似于:x1、y1、y2、y3。。。 因此,此RDD中的项目如下(每行都是扫描操作的一行结果): x1,y1,y2,y3 x2,y1,y4,y8,y9 x3,y5 xn,y1,y6,y100 我想将此RDD转换为另一个RDD,如: x1,y1 x1,y2 x1,y3 x2,y1 x2,y4 xn,y1 xn,y6 xn,y100 如何进行此转换?: : 不,这不是简单地将头部和尾部的每个项目结合起来。如果你观察最后几个例子
不,这不是简单地将头部和尾部的每个项目结合起来。如果你观察最后几个例子,第二项是由
f(xn)
@davidshen84计算的,你怎么会这样想呢?对不起,第二项是打字错误。我已经编辑过了。@Davidshen84不,它不是简单地将头部和尾部的每个项目结合起来。如果你观察最后几个例子,第二项是由f(xn)
@davidshen84计算的,你怎么会这样想呢?对不起,第二项是打字错误。我已经编辑过了。@Davidshen84我假设第二项是一个打字错误…应该是x1而不是X2是的,它是一个打字错误。我修改它。谢谢@JustinPihonyI假设第二项是一个拼写错误…应该是x1而不是X2是的,它是一个拼写错误。我修改它。谢谢@贾斯汀皮奥尼
rdd.flatMap(x => {
val key = x.head
x.tail.map(y=>(key,y))
})