You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PySpark中不使用SQL调用Spark Java UDF?

在PySpark中无SQL方式调用注册的Java UDF

你可以通过PySpark的functions.expr()函数实现无SQL方式调用已注册的Java UDF,具体写法如下:

from pyspark.sql import functions as F

# 直接在expr中使用已注册的UDF名称和列
df2 = df.withColumn("mapped", F.expr("test_udf(my_col)"))

expr()函数能够直接解析SQL表达式字符串,这里传入你注册的UDF名称及列参数,就能在DataFrame的withColumn操作中完成调用,效果和SQL查询完全一致。

如果需要动态指定列名,也可以结合字符串格式化来实现:

target_col = "my_col"
df2 = df.withColumn("mapped", F.expr(f"test_udf({target_col})"))

内容的提问来源于stack exchange,提问作者johngreen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 07:17:06