我有一个数字列表,想要计算该列表中连续数字的差异。我正在使用Apache Spark中的RDD。
示例:
Input: [1,2,5,7,8,10,13,17,20,20,21]
Output: [1,3,2,1,2,3,4,3,0,1]
我想知道是否可以使用mapreduce范例而不重复输入RDD。
答案 0 :(得分:0)
您可以使用org.apache.spark.mllib.rdd.RDDFunctions.sliding
。
通过在它们上面传递滑动窗口,从固定大小块的父RDD的分组项中返回RDD。排序首先基于分区索引,然后是每个分区内的项目顺序。这与Scala集合中的滑动类似,只是如果窗口大小大于项目总数,它将变为空RDD。如果父RDD具有多个分区且窗口大小大于1,则需要触发Spark作业。