我需要执行程序在不同时间完成数据处理。
我认为最简单的方法是使RDD分区的大小不均匀。我怎么能这样做?
答案 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作为参数