是否允许申请 BROADCAST
暗示 EXISTS
/ NOT EXISTS
sparksql查询中的子句(使用sqlapi)来提高查询性能?
我有一个大表,我需要与一个小表进行比较,从中我需要检查“外部”表中是否不存在某个条件。
因为(据我所知)spark最终使用 Joins
实施 EXISTS
/ NOT EXISTS
在查询中使用了子句的幕后,我想了解一下 BROADCAST
提示可用于查询中的小表 EXISTS
子句来提高查询性能。
例如,我可以执行以下操作:
select /*+ BROADCAST(p) */
a.id, a.name, a.desc
from cust a
where not exists (select 1
from products p
where a.id = p.id
and p.flg <> 'E'
)
and a.age > 30
或
select
a.id, a.name, a.desc
from cust a
where not exists (select /*+ BROADCAST(p) */
1
from products p
where a.id = p.id
and p.flg <> 'E'
)
and a.age > 30
有没有人能解释一下以上两种方法是否可行?如果没有,请有人告诉我,如果有任何解决办法是可以广播的 EXISTS
/ NOT EXISTS
条款。
注意:我使用sparksqlv2.4
感谢您的帮助。谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!