代码之家  ›  专栏  ›  技术社区  ›  hawkeye

在Spark中,如何将RDD转换为RDD项之间的差异列表?

  •  -2
  • hawkeye  · 技术社区  · 6 年前

    假设我有一个整数的RDD,如下所示:

    10, 20, 30, 40, 50, 60, 70, 80 ...
    

    然后修改RDD,使其看起来像这样:

    15, 25, 35, 45, 55, 65, 75, 85...
    

    (即RDD上的每个项目都是上面两个RDD的区别。)

    我的问题是:

    1 回复  |  直到 6 年前
        1
  •  1
  •   Manoj Kumar Dhakad    6 年前

    你可以求助于 rdd's sliding 功能。如下所示

     import org.apache.spark.mllib.rdd.RDDFunctions._
    
     val rdd=sc.parallelize(List(10, 20, 30, 40, 50, 60, 70, 80))
    
     rdd.sliding(2).map(_.sum/2).collect
    
    //output
    res14: Array[Int] = Array(15, 25, 35, 45, 55, 65, 75)