Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何将RDD(Spark)中的一个项目转换为RDD中的多个项目?_Scala_Apache Spark_Rdd - Fatal编程技术网

Scala 如何将RDD(Spark)中的一个项目转换为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 如何进行此转换?: : 不,这不是简单地将头部和尾部的每个项目结合起来。如果你观察最后几个例子

我从“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))
    })