Hadoop 配置单元中case-when子句中使用子查询的替代选项

Hadoop 配置单元中case-when子句中使用子查询的替代选项,hadoop,hive,case,hiveql,case-when,Hadoop,Hive,Case,Hiveql,Case When,我尝试执行此查询,但显然,除了from子句之外,配置单元不支持任何子查询。有什么变通方法可以使用吗 SELECT id1, id2, CASE WHEN EXISTS (SELECT id3 FROM BlacklistedIds WHERE id3 = "abcde")

我尝试执行此查询,但显然,除了
from
子句之外,配置单元不支持任何子查询。有什么变通方法可以使用吗

SELECT id1,
       id2,
           CASE
               WHEN EXISTS
                       (SELECT id3
                        FROM BlacklistedIds
                        WHERE id3 = "abcde") THEN 'ignore'
               ELSE 'null'
            END AS id3
 FROM BIG_TABLE

您可以将其重写为左联接:

选择id1、id2、,
如果(tt.id3不是null,'ignore','null')作为id3
从大桌子上
t.id3上的左连接黑名单tt=tt.id3