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

PySpark SQL中filter函数添加OR条件的语法错误求助

问题解决:Spark filter函数添加OR条件的正确语法

你的错误是把第二个OR条件写到了filter的lambda表达式外面,还出现了括号配对错误。正确写法是把两个判断条件都放在x ->后面的逻辑表达式里,同时确保filter函数的括号正确闭合。

正确代码示例:

new_DF = old_df.withColumn("reduced_calls", \
                F.expr("filter(calls, x -> substring(x.call, 0, 23) == 'get test/call' OR substring(x.call, 0, 10) == 'get another')"))

错误点说明:

  • 原报错代码里,filter((calls, x -> ...))多了一层不必要的括号,而且第一个条件后就闭合了lambda的括号,导致第二个条件属于filter函数外部,语法不合法。
  • Spark SQL的filter函数语法为filter(array_column, element -> condition),所有判断逻辑都要写在箭头后的条件部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:32:33