[英]PySpark RDD: Manipulating Inner Array
我有一個數據集(例如)
sc = SparkContext()
x = [(1, [2, 3, 4, 5]), (2, [2, 7, 8, 10])]
y = sc.parallelize(x)
print(y.take(1))
打印語句返回 [(1, [2, 3, 4, 5])]
我現在需要在 RDD 中將子數組中的所有內容乘以 2。 由於我已經並行化,我無法進一步分解“y.take(1)”以將 [2, 3, 4, 5] 乘以 2。
我如何從本質上隔離我的工作節點之間的內部數組,然后進行乘法運算?
我認為您可以將map與 lambda function 一起使用:
y = sc.parallelize(x).map(lambda x: (x[0], [2*t for t in x[1]]))
然后y.take(2)
返回:
[(1, [4, 6, 8, 10]), (2, [4, 14, 16, 20])]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.