我想在dataframe列上运行一个自定义函数。列有一个长字符串,其中包含一些打开或单击的信息。路径列中的字符串格式如下所示:
+---------------------------------------------------------------+
| Path|
+---------------------------------------------------------------+
|/utility/tracking/opened/50DD3254-BA1D-4D0B-ADB5-6529E9C90982/0|
|/utility/tracking/tracking/ClickedUrl |
+---------------------------------------------------------------+
源数据帧看起来像这样
现在我正在运行pyspark UDF来应用于“path”列,它会在列中找到“opened”还是“clicked”,并给我一个新的dataframe,其中“path”列的值为10或20,其他值为null,具体取决于opened clicked或else条件
^{pr2}$结果显示在“Path”列中为null,而不是值10或20
如果我做任何事情都不需要整数值的帮助,我会非常感激。提前谢谢
您需要从函数返回值,而不是打印它们。像这样-
我不知道如何在pySpark中返回null。在
正如其他人提到的,您的主要问题是打印值而不是返回值。然而,即使在修复之后,在这里使用
udf
也是非常低效的。在相反,可以使用^{} 和^{} 。在
尝试:
默认情况下,
when
将返回null
,如果没有任何条件匹配。在相关问题 更多 >
编程相关推荐