Ich glaube, Sie vermissen den Punkt über mv
Befehl (linux/hdfs).
Wenn das Ziel bereits existiert, wenn es sich um eine Datei handelt, eine Fehlermeldung mv: 'dest': File exists
.
Im Falle eines Verzeichnisses wird die Quelle in das Verzeichnis eingefügt. Damit der Befehl akzeptabel funktioniert, versuchen Sie es einfach mit einem nicht vorhandenen Ziel.
Jetzt können Sie den Befehl test
von hadoop zusammen mit dem Kurzschluss OR
von Linux verwenden.
hadoop fs -test -e dest || hadoop fs -mv src dest
Wenn das Verzeichnis nicht existiert, rufen mv
.
hadoop fs -rmr dest
hadoop fs -mv src dest
Dieser löscht das dest dir zuerst, dann die Aktion Bewegung ausführt: Sie können auch mit folgenden noch weiter gehen. Wenn dies nicht Ihre Absicht ist, verwenden Sie die vorherige Lösung.
P erfect ... Danke – Kumar
Und ist so billig wie eine einfache Umbenennung, [siehe] (http://stackoverflow.com/questions/8935977/about-hadoop-hdfs-filesystem-rename?rq=1) – nik