Невозможно выполнить вложенные SQL-запросы в Spark SQL - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь выполнить этот запрос, но он не работает:

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)

Это приводит к ошибке, которая говорит следующее:

«несоответствующий ввод данных из ожидаемого» * ​​1007 *

Проехал этот пост, поскольку в нем говорится, что он поддерживается Spark с версией 2.0+ .

1 Ответ

0 голосов
/ 12 сентября 2018

Я не уверен, что 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);

Это исправляет несколько других синтаксических проблем с запросом (например, отсутствие псевдонима A).

LIMIT в подзапросе также не требуется.NOT EXISTS должен остановиться на первом матче.

...