Apache spark 定义工人';Spark-Python中的数据范围
火花: 我有一个长度'n'(a1、a2、…ak、…an)的序列数据。我必须执行fun(a1,a2,…a5),fun(a5,a6,…a9),…fun(an-4…an-2,an-1,an),其中fun是一个数学运算,并独立应用于数据块。 我希望这些块应该并行执行。我是否可以为执行者(每个区块)提供起始和结束范围?[块大小可变但统一]。添加索引:Apache spark 定义工人';Spark-Python中的数据范围,apache-spark,mapreduce,pyspark,Apache Spark,Mapreduce,Pyspark,火花: 我有一个长度'n'(a1、a2、…ak、…an)的序列数据。我必须执行fun(a1,a2,…a5),fun(a5,a6,…a9),…fun(an-4…an-2,an-1,an),其中fun是一个数学运算,并独立应用于数据块。 我希望这些块应该并行执行。我是否可以为执行者(每个区块)提供起始和结束范围?[块大小可变但统一]。添加索引: rdd_indexed = rdd.zipWithIndex() 生成存储桶: with_buckets = rdd.mapValues(lambda x
rdd_indexed = rdd.zipWithIndex()
生成存储桶:
with_buckets = rdd.mapValues(lambda x: x % 5)
互换:
和reduceByKey
:
swapped.reduceByKey(f)
请更具体,共享数据、代码和输出。感谢您快速响应的解决方案。我可以使用重叠值的桶吗?例如,重叠条尺寸为'm',其中'm'<'k'表示桶的最后一个'm'值与下一个桶的第一个'm'值相同?第二个功能:乐趣是一次应用于窗口的所有值。上述方法是一次处理一个索引,不能解决问题。
swapped.reduceByKey(f)