Spark“sum”命令给出方法 sum([class java.util.ArrayList]) 不存在

Ell*_*ler 3 python arrays sum aggregate-functions apache-spark

我要疯了吗?

from pyspark.sql.functions import *
sum([2,3,2])
Run Code Online (Sandbox Code Playgroud)

给出:

py4j.Py4JException: Method sum([class java.util.ArrayList]) does not exist
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到一个简单的总和?

幕后发生了什么火花让事情变得如此困难?

Psi*_*dom 7

通过from pyspark.sql.functions import *,您正在使用pyspark.sql.functions模块中的 sum 函数覆盖 python 标准库中的 sum 函数。为避免覆盖,您可以导入模块:

import psypark.sql.functions as f
Run Code Online (Sandbox Code Playgroud)

并将两个求和函数称为f.sumsum

或者从pyspark.

from pyspark.sql.functions import sum as fsum
Run Code Online (Sandbox Code Playgroud)

这样你就不会在同一个作用域中引入两个 sum 函数。