当将Python UDF应用于Spark数据帧时的java.lang.IllegalArgumentException错误

2024-04-19 00:22:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我在本地机器上使用pyspark2.3.1测试pandas_udfhttps://spark.apache.org/docs/2.3.1/api/python/pyspark.sql.html#pyspark.sql.functions.pandas_udf)文档中提供的示例代码:

from pyspark.sql import SparkSession
from pyspark.sql.functions import pandas_udf, PandasUDFType
df = spark.createDataFrame(
    [(1, 1.0), (1, 2.0), (2, 3.0), (2, 5.0), (2, 10.0)],
    ("id", "v"))  
@pandas_udf("id long, v double", PandasUDFType.GROUPED_MAP)  
def normalize(pdf):
    v = pdf.v
    return pdf.assign(v=(v - v.mean()) / v.std())
df.groupby("id").apply(normalize).show()  

但当我这样做时,我会引发一个java.lang.IllegalArgumentException(本文下面显示了完整的stacktrace)。在

你知道我做错什么了吗?在

完整堆栈跟踪:

^{pr2}$

Tags: fromhttpsimport机器idpandasdfsql