【发布时间】:2020-09-06 18:19:53
【问题描述】:
我正在使用 spark sql 创建查询。实际查询的大小有点大,但我遇到的问题是以下错误
Error in SQL statement: AnalysisException: IN/EXISTS predicate sub-queries can only be used in a Filter: Aggregate
查询的以下部分引起了麻烦。我不确定
select col1, col2,
sum(case
WHEN snoozed_until is NULL
AND hired is NULL
AND lower(profile_archive_status) = 'true'
AND profile_id NOT IN
(SELECT profile_id
FROM candidates_feedback f
WHERE lower(f.a1) LIKE '%no%') THEN
1
ELSE 0 END) Archived,
sum(case
WHEN snoozed_until is NULL
AND hired is NULL
AND lower(profile_archive_status) = 'true'
AND profile_id IN (SELECT profile_id FROM candidates_feedback f WHERE lower(f.a1) LIKE '%no%') THEN 1 ELSE 0 END) Rejected,
from table;
【问题讨论】:
-
提供样本数据、期望的结果以及您想要完成的任务的说明。
-
@GordonLinoff 我已经更新了查询,我希望它现在有意义。类似的事情在这里。 stackoverflow.com/questions/34861516/…
-
选择投影中不允许使用 IN/EXISTS 谓词。查询分析器说它只在过滤器中接受。请尝试修改查询
标签: sql apache-spark hive apache-spark-sql