Выполнение быстрого теста вида
testfunc() {
hadoop fs -rm /test001.txt
hadoop fs -touchz /test001.txt
hadoop fs -setfattr -n trusted.testfield -v $(date +"%T") /test001.txt
hadoop fs -mv /test001.txt /tmp/.
hadoop fs -getfattr -d /tmp/test001.txt
}
testfunc()
testfunc()
, в результате которого выводится
... during second function call
mv: '/tmp/test001.txt': File exists
# file: /tmp/test001.txt
trusted.testfield="<old timestamp from first call>"
...
, похоже (в отличие от linux) команда hadoop fs mv
не перезаписывает файл назначенияесли уже существует.Есть ли способ принудительно перезаписать поведение (я полагаю, что я мог бы проверять и удалять адресата каждый раз, но что-то вроде hadoop mv -overwrite <source> <dest>
было бы более удобным для моих целей)?
** Кстати, если янеправильно интерпретирую результаты или поведение кажется неправильным, дайте мне знать (так как я предполагал, что перезапись была поведением по умолчанию, и пишу этот вопрос , потому что я был удивлен, что это не так).