Spark RDD:改变每个分区的大小

时间:2015-12-02 01:00:34

标签: apache-spark pyspark rdd

我需要执行程序在不同时间完成数据处理。

我认为最简单的方法是使RDD分区的大小不均匀。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

不确定您要实现的目标,但您可以使用partitionBy分析RDD,例如:

sc.parallelize(xrange(10)).zipWithIndex()
  .partitionBy(2, lambda x: 0 if x<2 else 1)
  .glom().collect()

[[(0, 0), (1, 1)], [(2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9)]]

请注意,它适用于(k,v)RDD,分区函数仅将k作为参数