我的查询如下:
SELECT * FROM a WHERE a.col NOT IN (SELECT col FROM B)
当我执行查询时,我收到以下错误:
FAILED:SemanticException [错误10052]:在严格模式下,不允许使用笛卡尔积。如果您确实要执行该操作,请设置hive.mapred.mode = nonstrict
我的查询中的笛卡儿产品在哪里?如何避免此错误?
答案 0 :(得分:0)
您可以完全绕开而不使用'except'
SELECT * FROM a WHERE a.col except (SELECT * FROM a WHERE a.col IN (SELECT col FROM B))
答案 1 :(得分:0)
您可以使用左联接来完成任务
select a.* from a left outer join b on a.col = b.col where.col is NULL