Изменение захвата данных с помощью дельта-блоков данных с помощью «ВСТАВИТЬ ПЕРЕЗАПИСЬ» - PullRequest
1 голос
/ 02 июля 2019

Вместо того, чтобы удалять и выбирать данные, которые я хочу загрузить в свою таблицу Delta, я хотел бы использовать INSERT OVERWRITE для повышения производительности. У меня есть пара запросов, например

query1 = "DELETE FROM asl_process.otr WHERE подстрока (Requested_delivery_d, 1,6) в формате ('{}', '{}', '{}', '{}')". (Month_M1, месяц, месяц_P1, месяц_P2);

query2 = "DELETE FROM asl_process.otr WHERE подстрока (Requested_delivery_d, 1,6) в (выберите отдельную подстроку (Requested_delivery_d, 1,6) из df_otrcurr)

что я хочу обобщить.

Я пытался переписать 2 запроса в SQL-выражении, например:

%sql

INSERT OVERWRITE TABLE asl_process.otr
    PARTITION(Ord_Planned_GI_date)
    SELECT * FROM asl_process.otr 
    WHERE substring(`Requested_delivery_d`,1,6) < > ('month_M1', 'month', 'month_P1', 'month_P2')
          AND substring(`Requested_delivery_d`,1,6) < > (select distinct substring(`Requested_delivery_d`,1,6) from df_otrcurr)

Проблема в том, что я получаю следующую ошибку: «Ошибка синтаксиса: неверный синтаксис» при вставке перезаписи.

Что я делаю не так? Не нравится, что у меня есть схема перед названием таблицы? ..

1 Ответ

0 голосов
/ 09 июля 2019

Вы упомянули 2 предложения FROM в своем запросе на вставку перезаписи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...