【问题标题】:using a sql request in spark sql error in execution在spark sql中使用sql请求执行错误
【发布时间】:2022-01-27 11:04:28
【问题描述】:

我尝试在 pyspark 中执行此查询,但总是出错。我到处都看过,但我不知道,或者如果有人可以帮助我,它就不起作用。此请求的目标是更新我稍后将创建的名为 temp_ok 的新列: 这是我的代码:

CASE WHEN _temp_ok_calculer='non' AND Operator level 2 ="XXX" OR  Operator level 2= "AAA" AND Auto Cleaning criteria !="YYY" Auto Cleaning criteria <> "AA"  AND Workstation Type = "Chaine A" THEN 'ok' ELSE CASE WHEN _temp_ok_calculer='ok' THEN 'ok' ELSE 'ko' END END

我的表包含以下列:_temp_ok_calculer、操作员级别 2、自动清洁标准、工作站类型

【问题讨论】:

  • 看起来你只是缺少一个AND:AND Auto Cleaning criteria !="YYY" AND Auto Cleaning criteria &lt;&gt; "AA"
  • 谢谢我纠正了混乱,但错误仍然存​​在
  • 你还有一个ELSE CASE,应该是第二个WHEN,加上大卫在他的回答中提到的反引号。

标签: sql apache-spark pyspark apache-spark-sql


【解决方案1】:

Spark SQL 使用反引号 ` 作为分隔符,其中带有空格的 identifiers 必须是 SQL 中的分隔标识符。所以

CASE WHEN _temp_ok_calculer='non' AND `Operator level 2` ="XXX" OR . . .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多