2014-12-04 19 views
6

Ich muss ein Verzeichnis in hdfs umbenennen. Was ist der Befehl dafür?Verzeichnis in hdfs umbenennen

hadoop fs -mv <src> <dest> 

Der obige Befehl verschiebt den Ordner src in den Ordner dest. Statt dessen möchte ich, dass der Ordner src in dest umbenannt wird.

Antwort

9

Umbenennen ist nicht in Hadoop, aber man kann sich bewegen, hadoop fs -MV oldname newname

+0

P erfect ... Danke – Kumar

+0

Und ist so billig wie eine einfache Umbenennung, [siehe] (http://stackoverflow.com/questions/8935977/about-hadoop-hdfs-filesystem-rename?rq=1) – nik

7

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.

+1

Guter Punkt: In Bei Verzeichnissen wird die Quelle in das Verzeichnis eingefügt. Ich wusste das vorher nicht –

0

Sie können mithilfe Befehl mv

hadoop fs -mv 'Old folder name with path' ' new folder name with path' 

Beispiel den Ordner, in HDFS Umgebung umbenennen: Ich habe Ordner in HDFS am Ort /test/abc und ich möchte es umbenennen, um PQR

hadoop fs -mv '/test/abc' '/test/PQR'; 

Ergebnisse:

Rename folder in HDFS

Verwandte Themen