1
我無法找到答案。 如果我有RDDpyspark:按值將單個RDD分割爲多個RDD
rdd = sc.parallelize([('a', [1,2,3]), ('b',[4,5,6])])
其中每個值都是一個列表。 有沒有方法可以拆分RDD,使得它成爲
sc.parallelize([('a',1),('a',2),('a',3),('b',4),('b',5),('b'6)])
現在在哪裏每個值是列表的元素之一,搭配的關鍵。 我大致知道解決方案。我們可以先collect()
a = rdd.collect()
,並重新分配一個RDD作爲
rdd2 = sc.parallelize([x for x in a])
但如果RDD巨大,collect()
會非常耗時。我們必須按比例考慮它。有沒有分散的方式來做到這一點? (如使用lambda function
..等)謝謝!
謝謝!這正是我需要的! – Hsiang