无法在Spark SQL中执行嵌套SQL查询

5 sql apache-spark apache-spark-sql

我试图执行此查询但它不起作用:

SELECT COLUMN
FROM TABLE A           
WHERE  A.COLUM_1 = '9999-12-31' AND NOT EXISTS (SELECT 1 FROM TABLE2 ET WHERE ET.COl1 = A.COL2 LIMIT 1)
Run Code Online (Sandbox Code Playgroud)

它会导致错误,说明如下:

"期望不匹配的输入"

通过这篇文章,它表示它支持Spark 2.0版本.

Gor*_*off 4

我不确定SparkSQL是否支持TOP.但它不是必需的.这有用吗?

SELECT t.COLUMN
FROM TABLE t           
WHERE t.COLUM_1 = '9999-12-31' AND
      NOT EXISTS (SELECT 1 FROM TABLE2 ET WHERE ET.COl1 = t.COL2);
Run Code Online (Sandbox Code Playgroud)

这修复了查询的一些其他语法问题(例如没有别名A).

LIMIT在子查询中也不需要. NOT EXISTS应该在第一场比赛停止.