我在本地机器上使用pyspark2.3.1测试pandas_udf
(https://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}$
根据https://issues.apache.org/jira/browse/SPARK-29367,您需要:
pyarrow
比0.15
旧的版本,例如0.14.1
相关问题 更多 >
编程相关推荐