我正在使用PySpark,并在寻找一种将RDD划分为n个公平部分的方法。给予:
rdd = sc.parallelize ([(u'28b195c271f', (u'm', u'50c41480')),
(u'_guid_UDeL9', (u'f', u'K0r_MuQH')),
(u'17503716353', (u'f', u'KUDRwaYm')),
(u'171f92200d6', (u'f', u'bdf53cb6')),
(u'_guid_NCw7S', (u'f', u'KSJakOd2')),
(u'331d8410d49', (u'f', u'1F37807A'))])
这是我的代码:
^{pr2}$这给了我两个不公平的RDD。 len(重新划分_rdd.托收()[0])给出:2和len(重新分区_rdd.托收()[1])给出4!结果:
[[(u'28b195c271f', (u'm', u'50c41480')),
(u'_guid_UDeL9', (u'f', u'K0r_MuQH'))],
[(u'17503716353', (u'f', u'KUDRwaYm')),
(u'171f92200d6', (u'f', u'bdf53cb6')),
(u'_guid_NCw7S', (u'f', u'KSJakOd2')),
(u'331d8410d49', (u'f', u'1F37807A'))]]
什么是最有效的方法来获得结果两个公平部分(RDD),3和3作为长度。。谢谢!在
也许你对随机分割(weights,seed)感兴趣,那就是:
它将返回RDD列表。在
相关问题 更多 >
编程相关推荐