我正在寻找一个数据帧的列的总和,其中每一行都具有相同维的密集向量。我想要的输出是该尺寸的numpy数组。
使用ml.feature.VectorAssembler
,我发现我的任务在通话过程中被杀死:
>>> dataframe.select('feature_vector').rdd.reduce(sum)
从feature_vector
输出VectorAssembler
列的位置。但是当我使用ml.linalg.VectorUDT
之类的东西缩放特征向量然后求和时:
>>> dataframe.select('scaled_feature_vector').rdd.reduce(sum)
我的任务不会被杀死,但是要花很长时间才能完成。我应该如何在pySpark中处理向量,以便有效地执行这类归约?