INSERT OVERWRITE DIRECTORY не обновляет / удаляет данные, если результат 0 записей - PullRequest
0 голосов
/ 25 июня 2018

Вот мой запрос

вставить каталог перезаписи '/ myloc / output' select * from emp, где eid <123; </p>

У меня есть несколько записей врасположение '/ myloc / output', теперь я снова запускаю следующий запрос ..

вставить каталог перезаписи '/ myloc / output' select * from emp, где eid> 345;

Если нет записей , удовлетворяющих условию eid> 345, то результатом будет 0 записей.В этом случае Beeline не удалит старые данные (т.е. eid <123). </p>

Есть ли способ сообщить Beeline, что удалить / обновить каталог, даже если нет записей, удовлетворяющихусловие .

1 Ответ

0 голосов
/ 25 июня 2018

Это ошибка, которая исправлена ​​в более поздних версиях.https://issues.apache.org/jira/browse/HIVE-13997

В качестве обходного пути вы можете вручную удалить файлы из каталога до того, как ваша вставка перезапишет statemente (не идеально, но сделайте эту работу)

...