#hive #hiveql
Вопрос:
У меня есть целевая таблица A, из которой я хочу удалить 3 повторяющиеся записи. Я обнаружил, что удаление из таблицы, где id = 1, не работает в улье (что просто)
В свою очередь, то, что я сейчас делаю, это :
Step 1: Create a copy table of the target table
Step 2: Insert into copy table select * from target where id not in (1,2,3)
step 3: Truncate target table
step 4: Insert into target table select * from copy table
Есть ли какой-нибудь более простой подход, чем этот?
Ответ №1:
Вы можете вставить перезапись из себя:
--for partitioned table
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
--If you are on Qubole
set hive.allow.move.on.s3=true;
insert overwrite table target partition (col1,col2)
select * from target where id not in (1,2,3)
Комментарии:
1. спасибо за ваш ответ. Если это разделенная таблица, то это будет вставка,перезапись таблицы tabl1 раздел (столбец 1, столбец 2) выберите * из цели, где идентификатор не указан (1,2,3) ?
2. @джахан Да. Добавить добавил, что в ответе
3. Огромное спасибо.