Python pyspark.sql.function可以在udf中使用吗?
我定义了一个函数,比如Python pyspark.sql.function可以在udf中使用吗?,python,sql,apache-spark,pyspark,user-defined-functions,Python,Sql,Apache Spark,Pyspark,User Defined Functions,我定义了一个函数,比如 getDate = udf(lambda x : to_date(x)) 当我把它用在 df.select(getDate("time")).show() 我遇到 File ".../pyspark/sql/functions.py", in to_date return Column(sc._jvm.functions.to_date(_to_java_column(col))) AttributeError: 'NoneType' object has no at
getDate = udf(lambda x : to_date(x))
当我把它用在
df.select(getDate("time")).show()
我遇到
File ".../pyspark/sql/functions.py", in to_date
return Column(sc._jvm.functions.to_date(_to_java_column(col)))
AttributeError: 'NoneType' object has no attribute '_jvm'
这是否意味着我不能在自己的udf中使用pyspark.sql
函数
这不是一个具体的问题,我想知道为什么会发生这种情况。将错误视为
sc
的问题。:'NoneType'对象没有属性'\u jvm'
此处sc为非类型。
无需编写udf
,可直接使用:-
import pyspark.sql.functions as F
df.select(F.to_date(df.time)).show()
pyspark.sql.Functions
中的函数是JVM函数的包装器,设计用于在pyspark.sql.Column
上操作。您不能使用以下选项:
- 转换本地Python对象。它们获取
并返回列
列
- 无法在辅助进程上使用它们,因为没有可以对它们进行评估的上下文