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)
我怎样才能得到一个简单的总和?
幕后发生了什么火花让事情变得如此困难?
通过from pyspark.sql.functions import *,您正在使用pyspark.sql.functions模块中的 sum 函数覆盖 python 标准库中的 sum 函数。为避免覆盖,您可以导入模块:
import psypark.sql.functions as f
Run Code Online (Sandbox Code Playgroud)
并将两个求和函数称为f.sum和sum。
或者从pyspark.
from pyspark.sql.functions import sum as fsum
Run Code Online (Sandbox Code Playgroud)
这样你就不会在同一个作用域中引入两个 sum 函数。