将嵌套的元组列表与 pyspark 中的列表组合

Combine a nested list of tuple with a list in pyspark

我想知道是否可以在 pyspark 中将元组列表与 numpy 列表结合起来?我试图在地图中对元组进行子集化,因此使用 rdd.map(lambda x: x[0][0]).collect() 但它给了我一个错误。

这是例子:

rdd = sc.parallelize([[("a", 5),("b", 6), ("c", 7), ("d", 8)], np.array([1,2,3,4])])

这是我想要的输出:

output = [("a", 5, 1), ("b", 6, 2), ("c", 7, 3), ("d", 8, 4)]

希望有人能帮忙!

也许你想要的是:

import numpy as np

rddTup = sc.parallelize([("a", 5),("b", 6), ("c", 7), ("d", 8)])
rddNp = sc.parallelize(np.array([1, 2, 3, 4]))

combined = rddTup.zip(rddNp).map(lambda (k, v): (k[0], k[1], v))
combined.collect()

# [('a', 5, 1), ('b', 6, 2), ('c', 7, 3), ('d', 8, 4)]