【发布时间】:2020-03-05 02:16:04
【问题描述】:
尝试在withColumn 中使用简单的udf,我收到以下错误。
实际上订单号是一个字符串类型,它的值类似于下面这样,它没有空值。
1234.345.344343434
代码:
order_udf = udf(lambda x: x[x.rfind(".") + 1:], StringType())
df.withColumn("order_number", order_udf('order_number')).show()
我需要在 udf 调用中更改某些内容吗?
【问题讨论】:
-
我能够执行上面的代码并得到订单号为
344343434。 -
我在本地执行时也遇到了这个问题,但在集群中它不起作用..我希望这与 DataType 没有正确传递有关
-
ok.. 使用
udf而不是常规的 spark 函数背后有什么具体原因吗?像regexp_replace(或)拆分? -
@Shu: 不,我以为用这个很简单?我们可以为此使用 regexp_replace 吗?基本上我需要得到订单号的最后一部分
标签: pyspark