【问题标题】:Parsing Exception - org.apache.spark.sql.catalyst.parser.ParseException:解析异常 - org.apache.spark.sql.catalyst.parser.ParseException:
【发布时间】:2020-08-31 18:52:01
【问题描述】:
我正在运行下面的 sql 但出现错误,
“不匹配的输入 'r' 期望(第 1 行,第 17 行)”scala>
hiveContext.sql("当 r.code 在 ‘0000’ 然后 ‘ABC’ 时选择 case else
'XYZ' end from test.reporting r left join test.exclude i on r.id =
i.id LEFT JOIN test.region c ON r.name = c.name where r.id IS NULL
限制 10").show
这似乎是 CASE 语句的问题,好像我删除了 case 语句它工作正常。有人可以帮我解决这个问题吗?
【问题讨论】:
标签:
sql
scala
apache-spark
apache-spark-sql
hiveql
【解决方案1】:
In 必须是 list/array 将 r.code in ‘0000’ 更改为 r.code = ‘0000’(或)r.code in (‘0000’)
hiveContext.sql("select case when r.code in (‘0000’) then ‘ABC’ else ‘XYZ’ end from test.reporting r left join test.exclude i on r.id = i.id LEFT JOIN test.region c ON r.name = c.name where r.id IS NULL limit 10").show