我有一个python函数,例如:
def blank_as_null(x):
return when(col(x) != "", col(x)).otherwise(None)
我使用此功能时并未udf(blank_as_null, StringType())
按照文档中的建议运行:http : //spark.apache.org/docs/2.2.0/api/python/pyspark.sql.html或此视频中:https : //youtu.be / AsW0QzbYVow?t = 42m33s(在42:33处您可以看到调用该udf
函数的代码)
然后我做类似的事情:
myData.withColumn('myColumn', blank_as_null('myColumn'))
先注册python函数会有什么好处吗?在什么情况下注册受益?什么时候没关系?还是在后台自动完成注册?
我认为您正在混合两种不同的转换:PySpark API转换和UDF:
when
,otherwise
等)。由于性能原因,您应该始终将目标放在第一种类型的转换上,但是如果您尝试使用Spark API实现的转换不可行,则唯一的选择就是UDF。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句