Pyspark - 属性错误:'UserDefinedFunction'对象没有属性'_get_object_id'



我用一个函数创建了python文件(python_file.py),然后在同一作用域的pyspark-shell中将该函数称为UDF。守则如下

import python_file as outer
pyspark_func = udf(outer.my_funct, StringType())
df1 = df.select(pyspark_func(col('col1')))

它导致

属性

错误:"用户定义的函数"对象没有属性"_get_object_id"错误。

任何人都可以解释一下错误。还有其他方法可以做到这一点吗?

你能试试这个代码吗.而查询数据帧 我们必须遵循的Spark SQL已经给出了格式

实际数据

+--------+---+----+
|    date| id|name|
+--------+---+----+
| 05FEB12|101|John|
| 19APR13|102|Mike|
|19APR17s|103|Anni|
+--------+---+----+

UDF 创建和注册

def userDefinedMethod(sample):
    return sample+"is my Name"
userDefinedMethod = udf(userDefinedMethod, StringType())
**dataDf.select(dataDf["id"],dataDf["name"],userDefinedMethod(dataDf["name"]).alias("Modified name")).show()**

结果输出:

+---+-----------------+
| id|Incremental value|
+---+-----------------+
|101|   Johnis my Name|
|102|   Mikeis my Name|
|103|   Anniis my Name|
+---+-----------------+

相关内容

  • 没有找到相关文章

最新更新