2012-11-23 43 views
27

Tôi đã tải lên một Directory để cụm Hadoop là có "" trong tên của nó như 'mydir, Name' khi tôi đang cố gắng để xóa thư mục này bằng cách sử dụng RMR hadoop vỏ lệnh như sauCách xóa thư mục khỏi cụm Hadoop có dấu phẩy (,) trong tên của nó?

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

Tôi nhận được các thông báo sau rmr: không thể xóa hdfs: // host: port/Navi/MyDir ,: Không có tệp hoặc thư mục nào như vậy. rmr: không thể xóa Tên: Không có tệp hoặc thư mục như vậy.

Tuy nhiên tôi đã xóa thành công mục khác từ cùng một địa điểm, sử dụng lệnh cùng ví dụ:

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

bất kỳ giải pháp để xóa loại đó của Danh mục.

+0

Nó không phải là dấu phẩy, đó là nhân vật không gian beind nó. Đặt đối số của bạn bên trong dấu ngoặc kép sẽ giúp ích. – rsp

+0

yes @rsp có không gian quá sau dấu phẩy, tôi đã sử dụng lệnh sau để xóa thư mục này thành công "hadoop dfs -rmr hdfs: // host: cổng/Navi/MyDir \, \ Name" nó hoạt động. –

+0

Các '\' trong dòng lệnh thoát khỏi dấu phẩy (không cần thiết) và không gian. Sử dụng dấu ngoặc kép sẽ thoát khỏi bất kỳ ký tự nào cần thiết, cả hai đều sẽ hoạt động. – rsp

Trả lời

43

Bạn đã thử "hdd dfs -rmr hdfs: // host: port/Navi/MyDir \, \ Name" chưa?

+0

Có, Chỉ cần thử và làm việc cho tôi, Cảm ơn gega :-) –

+17

điều này không được chấp nhận, nên là "hadoop fs -rm -r " –

+1

hoặc ngắn hơn 'hdfs dfs -rm -r ' – Romain

4

Here bạn có thể tìm thấy tất cả các lệnh hadoop shell:

xóa: RMR Cách sử dụng: hadoop fs -rmr URI [URI …]

phiên bản đệ quy của xóa.

Ví dụ:

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

Exit Code:

Returns 0 nếu thành công và -1 về lỗi.

39

Hoặc nếu bạn không biết địa chỉ, bạn có thể sử dụng

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

bạn có nghĩa là hadoop fs -rmr -f/user/the/path/đến/your/dir? – Avinash

+6

"-rmr" không được dùng trong Hadoop 2.6.Câu trả lời cho biết "-rm -r" là được rồi. – ffarquet

2

Hãy thử hadoop dfs -rm -r hdfs://host:port/Navi/MyDir\,\ Name tại

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

Trong hadoop1.0:

hadoop fs -rmr /PATH/ON/HDFS 

Trong hadoop2. 0:

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

Sử dụng \ để thoát , trong con đường