2012-11-23 12 views
27

Ho caricato una directory a grappolo Hadoop che sta avendo "" nel suo nome come 'MyDir, Nome' quando sto cercando di eliminare questo Directory utilizzando RMR Hadoop comando di shell come segueCome eliminare una directory dal cluster Hadoop che sta avendo virgola (,) nel suo nome?

hadoop dfs -rmr hdfs://host:port/Navi/MyDir, Name 

Sto ricevendo i seguenti messaggi rmr: impossibile rimuovere hdfs: // host: port/Navi/MyDir ,: Nessun file o directory. rmr: impossibile rimuovere Nome: nessun file o directory di questo tipo.

Tuttavia Ho cancellato con successo altre directory dalla stessa posizione, utilizzando lo stesso comando ossia

hadoop dfs -rmr hdfs://host:port/dir_path 

alcuna soluzione per eliminare questo tipo di directory.

+0

Non è la virgola, è il carattere di spazio beind esso. Mettere la tua argomentazione tra virgolette ti aiuterà. – rsp

+0

sì @rsp c'era spazio anche dopo la virgola, ho usato il seguente comando per cancellare con successo questa directory "hadoop dfs -rmr hdfs: // host: port/Navi/MyDir \, \ Name" funziona. –

+0

Il '\' nella riga di comando sfugge alla virgola (non necessaria) e allo spazio. Usare le virgolette eviterà qualsiasi carattere necessario, entrambi funzioneranno. – rsp

risposta

43

Hai provato "hadoop dfs -rmr hdfs: // host: port/Navi/MyDir \, \ Name"?

+0

Sì, appena provato e che funziona per me, grazie Gega :-) –

+17

questo è deprecato dovrebbe essere "Hadoop fs -rm -r " –

+1

o meno lunghi 'HDFS DFS -rm -r ' – Romain

4

Here si possono trovare tutti i comandi di shell Hadoop:

eliminazione: RMR Usage: hadoop fs -rmr URI [URI …]

versione ricorsiva di eliminazione.

Esempio:

hadoop fs -rmr /user/hadoop/dir 
hadoop fs -rmr hdfs://nn.example.com/user/hadoop/dir 

codice di uscita:

Restituisce 0 in caso di successo e -1 in caso di errore.

39

O se non si conosce l'URL, è possibile utilizzare

hadoop fs -rm -r -f /user/the/path/to/your/dir 
+0

vuoi dire fs Hadoop -rmr -f/utente/il/percorso/a/tuo/dir? – Avinash

+6

"-rmr" è obsoleto in Hadoop 2.6.La risposta che dice "-rm -r" va bene. – ffarquet

2

Prova hadoop dfs -rm -r hdfs://host:port/Navi/MyDir\,\ Name ora

1
$ hadoop fs -rmdir {directory_name} 
2
hdfs dfs -rm -r /path/to/directory 
2

In hadoop1.0:

hadoop fs -rmr /PATH/ON/HDFS 

In hadoop2. 0:

hdfs dfs -rm -R /PATH/ON/HDFS 

Usa \ per sfuggire , nel percorso

Problemi correlati