这个问题在这里已经有答案了:
pyspark-对数组(integer())类型列中的值求和的最佳方法(5个答案)
20天前关门了。
这是我的rdd:
id| arr |
+--------------------+-
|1| [8,5,1,11,10,8,2]|
|2| [3,6,3,1,0,1,2]|
|3| [4,2,2,0,1,1,3]|
|4| [0,0,0,0,0,2,0]|
|5| [3,4,7,3,2,1,2]|
|6| [1,0,1,0,6,0,0]|
|7| [2,1,2,2,9,3,0]|
|8| [3,2,2,3,1,0,3]|
|9| [1,1,7,12,11,5,5]|
我正在研究如何应用一个函数,对列表中的所有数字求和,并在单独的列中返回sum。这是我的函数(我使用python)。它在一个数组上工作,但我不知道如何将它应用于rdd中的列。
def sum_func(x):
t = 0
for i in range(0, len(x)):
t = t + x[i]
return t == 0
1条答案
按热度按时间5vf7fwbs1#
为了将其应用于Dataframe上的列,可以创建并应用用户定义函数(udf)。
然后在Dataframe上(假设它存储在
df
),我们使用withColumn
添加另一列