首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花公子中的执行蜂巢查询

火花公子中的执行蜂巢查询
EN

Stack Overflow用户
提问于 2022-10-05 09:50:36
回答 1查看 74关注 0票数 0

在蜂箱(直线)中执行下面的查询时,我没有错误。但是,当使用pyspark从Python执行时,同样的查询会失败,出现下面的错误消息。我如何调优python代码来使用本机单元引擎,而不是pyspark来执行下面的查询?

代码语言:javascript
复制
select count(com_dq), col1 from ( select col1, case when col2 not in (select distinct col3 from hive_Schema_name_1.table_name_1 where col4=1 AND col5='ABC' ) then 1 else 0 end as com_dq from hive_Schema_name_2.table_name_2 ) as data group by col1;

下面是错误,当上面的查询使用Python: AnalysisException: in /in谓词子查询执行时,只能在Filter/Join和一些命令中使用:

我也尝试过使用hivecontext sql,但是得到了相同的错误。

EN

回答 1

Stack Overflow用户

发布于 2022-10-06 04:25:48

有时候,hive不支持SELECT子句中的子查询。您需要使用子句重写SQL。您可以在下面使用SQL,它使用左联接来模拟not in子句。

代码语言:javascript
复制
SELECT Count(com_dq),
       col1
FROM  (SELECT col1,
              CASE
                WHEN rs.col3 IS NULL THEN 1
                ELSE 0
              END AS com_dq
       FROM   hive_schema_name_2.table_name_2
              LEFT JOIN (SELECT DISTINCT col3
                         FROM   hive_schema_name_1.table_name_1
                         WHERE  col4 = 1
                                AND col5 = 'ABC') rs
                     ON rs.col3 = col2
       WHERE  rs.col3 IS NULL) rs2
GROUP  BY 2 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73958663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档