Вместо того, чтобы удалять и выбирать данные, которые я хочу загрузить в свою таблицу 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)
Проблема в том, что я получаю следующую ошибку:
«Ошибка синтаксиса: неверный синтаксис» при вставке перезаписи.
Что я делаю не так? Не нравится, что у меня есть схема перед названием таблицы? ..