Apache spark 如何在pyspark中执行滑动窗口操作?

Apache spark 如何在pyspark中执行滑动窗口操作?,apache-spark,sliding,Apache Spark,Sliding,我有一个序列数据,转换成RDD filteredRDD.collect() [0, 1, 2, 3, 5, 9] 我想得到当前的增量-前一个值,输出为 [1,1,1,2,4] spark 1.6有什么样的窗口功能?您可以做什么来获得所需的结果是zipWithIndex 您可以zipWithIndex您的rdd(称之为rdd1[Long,Int]) 然后 valrdd2=rdd1.map{case(index,value)=>(index+1,value)} 现在,如果您使用val rdd3=

我有一个序列数据,转换成RDD

filteredRDD.collect()

[0, 1, 2, 3, 5, 9]
我想得到当前的增量-前一个值,输出为 [1,1,1,2,4]


spark 1.6有什么样的窗口功能?

您可以做什么来获得所需的结果是
zipWithIndex

您可以
zipWithIndex
您的rdd(称之为rdd1[Long,Int]) 然后

val
rdd2=rdd1.map{case(index,value)=>(index+1,value)}
现在,如果您使用val rdd3=
rdd1.join(rdd2).mapValues(case(a,b)=>a-b).values

这是您的
行增量
。这是非常有效的,因为它没有踢在很多洗牌

谢谢
玛纳斯

你能做的就是得到你想要的结果是
zipWithIndex

您可以
zipWithIndex
您的rdd(称之为rdd1[Long,Int]) 然后

val
rdd2=rdd1.map{case(index,value)=>(index+1,value)}
现在,如果您使用val rdd3=
rdd1.join(rdd2).mapValues(case(a,b)=>a-b).values

这是您的
行增量
。这是非常有效的,因为它没有踢在很多洗牌

谢谢 玛纳斯