Как заставить STORE (перезаписать) HDFS в Pig?

При разработке сценариев Pig, использующихSTORE У меня есть команда, чтобы удалить выходной каталог для каждого запуска или сценарий останавливается и предлагает:

2012-06-19 19:22:49,680 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 6000: Output Location Validation Failed for: 'hdfs://[server]/user/[user]/foo/bar More info to follow:
Output directory hdfs://[server]/user/[user]/foo/bar already exists

Итак, яsearching for an in-Pig solution to automatically remove the directoryтакже тот, который не задыхается, если каталог не существует во время вызова.

В справочнике по Pig Latin я нашел команду оболочки shellfs, К сожалению, скрипт Pig ломается всякий раз, когда что-либо выдает ошибку. Поэтому я не могу использовать

fs -rmr foo/bar

(т.е. удалить рекурсивно), поскольку он разрывается, если каталог не существует. На мгновение я подумал, что могу использовать

fs -test -e foo/bar

который является тестом и не должен сломаться или я так думал. Тем не менее, Свинья снова интерпретируетtestкод возврата несуществующей директории в виде кода ошибки и разрывов.

EстьБилет JIRA для проекта Свинья, решающего мою проблему и предлагающего дополнительный параметрOVERWRITE или жеFORCE_WRITE дляSTORE команда. Во всяком случае, я использую Pig 0.8.1 по необходимости, и такого параметра нет.

Ответы на вопрос(2)

Ваш ответ на вопрос