【问题标题】:Adding NumpyArray Values in RDD Python from Dictionary从字典中的 RDD Python 中添加 NumpyArray 值
【发布时间】:2023-01-30 13:51:23
【问题描述】:
如何在 RDD 中添加字典中的值,分别?
我有以下内容:
my_model = sc.parallelize([("Smith", np.array([1, 0, 3])), ("Johnson",np.array([2, 4, 1])), ("Brown",np.array([1, 1, 2]))])
我希望最终输出在 numpy 数组中如下所示:
[4, 5, 6]
如何在 numpy 数组中获得这个添加的输出?
【问题讨论】:
标签:
python
numpy
apache-spark
pyspark
rdd
【解决方案1】:
您可以在 PySpark 中使用 reduce 方法添加 numpy 数组的值,然后使用 collect 方法将生成的 RDD 转换为 numpy 数组。这是一个示例代码:
from operator import add
result = my_model.values().reduce(add).collect()
result = np.array(result)
或者,您可以使用以下代码来实现相同的结果:
result = my_model.map(lambda x: x[1]).reduce(add).collect()
result = np.array(result)