Заявление Delta Lake MERGE INTO - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь запустить Delta Lake MERGE INTO

MERGE INTO sessions
USING updates
ON sessions.sessionId = updates.sessionId
WHEN MATCHED THEN UPDATE *
WHEN NOT MATCHED THEN INSERT *

Я получаю SQL ошибку

ParseException: mismatched input 'MERGE' expecting {'(', 'SELECT', 'FROM', 'ADD', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'MAP', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'REDUCE', 'REFRESH', 'CLEAR', 'CACHE', 'UNCACHE', 'DFS', 'TRUNCATE', 'ANALYZE', 'LIST', 'REVOKE', 'GRANT', 'LOCK', 'UNLOCK', 'MSCK', 'EXPORT', 'IMPORT', 'LOAD'}(line 2, pos 0)
== SQL ==
MERGE INTO sessions
^^^
USING updates
ON sessions.sessionId = updates.sessionId
WHEN MATCHED THEN UPDATE *
WHEN NOT MATCHED THEN INSERT *
"

Я использую io.delta:delta-core_2.11:0.6.1 Что я делаете что-то не так?

Спасибо

1 Ответ

1 голос
/ 14 июля 2020

Поддержка merge SQL добавлена ​​в Delta Lake 0.7.0 . Вам также необходимо обновить Apache Spark до 3.0.0 и включить интеграцию с Apache Spark DataSourceV2 и API каталога, чтобы использовать новую поддержку SQL в Delta Lake 0.7.0. Пожалуйста, проверьте инструкции в документации по Delta Lake.

...