TypeError: udf() missing 1 required positional argument: 'f'

TypeError: udf() missing 1 required positional argument: 'f'

我找不到任何解决方案或问题。

如果我尝试定义一个 Spark-UDF 函数 (pyspark),例如:

@udf(returnType=IntegerType())
def _return_an_integer(y):

    return y + random.randint(1, 99)

df = df.withColumn('randomInteger', _return_an_integer(col('1')))

我收到错误消息:

TypeError: udf() missing 1 required positional argument: 'f'

有人解决这个问题吗?

提前致谢!

编辑:没有注释:

Py4JError: An error occurred while calling None.org.apache.spark.sql.execution.python.UserDefinedPythonFunction. Trace:
py4j.Py4JException: Constructor org.apache.spark.sql.execution.python.UserDefinedPythonFunction([class java.lang.String, class org.apache.spark.api.python.PythonFunction, class org.apache.spark.sql.types.IntegerType$]) does not exist
    at py4j.reflection.ReflectionEngine.getConstructor(ReflectionEngine.java:179)
    at py4j.reflection.ReflectionEngine.getConstructor(ReflectionEngine.java:196)
    at py4j.Gateway.invoke(Gateway.java:237)
    at py4j.commands.ConstructorCommand.invokeConstructor(ConstructorCommand.java:80)
    at py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:69)
    at py4j.GatewayConnection.run(GatewayConnection.java:238)
    at java.lang.Thread.run(Thread.java:748)

尝试了很多东西后,问题是我的 pyspark 版本与 spark 版本不匹配。