1. 程式人生 > >Hadoop分散式檔案系統(HDFS)的基本命令

Hadoop分散式檔案系統(HDFS)的基本命令

轉載於:https://blog.csdn.net/zhaojw_420/article/details/53161624

1、-help[cmd] 顯示命令的幫助資訊

./hdfs dfs -help ls
  • 1

2、-ls(r) 顯示當前目錄下的所有檔案 -R層層循出文件夾

./hdfs dfs -ls /log/map
./hdfs dfs -lsr /log/   (遞迴的)
  • 1
  • 2

3、-du(s) 顯示目錄中所有檔案大小,或者當只指定一個檔案時,顯示此檔案的大小

./hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1
  • 1

4、-count[-q] 顯示當前目錄下的所有檔案大小 
5、-mv 移動多個檔案目錄到目標目錄

./hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2
  • 1

6、-cp 複製多個檔案到目標目錄

./hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 (將檔案從源路徑複製到目標路徑。
這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。)
  • 1
  • 2

7、-rm(r) 刪除檔案(夾)

./hdfs dfs -rmr /log/map1  (遞迴刪除)
  • 1

8、-put 本地檔案複製到hdfs

./hdfs dfs -put test.txt /log/map/
  • 1

9、-copyFromLocal 本地檔案複製到hdfs

./hdfs dfs -copyFromLOcal /usr/data/text
.txt /log/map1/ (將本地的text.txt 複製到hdfs的/log/map1/下)
  • 1

10、-moveFromLocal 本地檔案移動到hdfs

./hdfs dfs -moveFromLocal /usr/data/text.txt /log/map1/   (將本地的text.txt移動到hdfs的/log/map1/下)
  • 1

11、-get[-ignoreCrc] 複製檔案到本地,可以忽略crc校驗

./hdfs dfs -get /log/map1/*  . (複製到本地當前目錄下)
/hdfs dfs -get /log/map1/* /usr/data (將hdfs下的/log/map1/下的所有檔案全部複製到本地的/usr/data/下 )
  • 1
  • 2

12、-getmerge[addnl] 將源目錄中的所有檔案排序合併到一個檔案中,接受一個源目錄和一個目標檔案作為輸入,並且將源目錄中所有的檔案連線成本地目標檔案。addnl是可選的,用於指定在每個檔案結尾新增一個換行符。

./hdfs dfs -getmerge /log/map1/* /usr/data(將hdfs上的/log/map1/下的所有檔案合併下載到本地的/usr/data下)
  • 1

13、-cat 在終端顯示檔案內容

 ./hdfs dfs -cat /log/map1/part-00000  | head (讀取hdfs上的/log/map1下的part-00000檔案    head引數,代表前十行。)

 /hdfs dfs -tail /log/map1/part-00000 (檢視檔案的最後一千行)
  • 1
  • 2
  • 3

14、-text 在終端顯示檔案內容,將原始檔輸出為文字格式。允許的格式是zip和TextRecordInputStream 
15、-copyToLocal[-ignoreCrc] 複製檔案到本地 
16、-moveToLocal 移動檔案到本地 
17、-mkdir 建立資料夾 後跟-p 可以建立不存在的父路徑

./hdfs dfs -mkdir -p /dir1/dir11/dir111  
  • 1

18、-touchz 建立一個空檔案

19、-grep 從hdfs上過濾包含某個字元的行內容

./hdfs dfs -cat /log/testlog/* | grep 過濾欄位