1. 程式人生 > >HDFS上傳流程以及操作命令

HDFS上傳流程以及操作命令

操作HDFS的基本命令


1) 列印檔案列表

標準寫法:

hadoop fs -ls hdfs:/#hdfs: 明確說明是HDFS系統路徑

簡寫:

hadoop fs -ls /#預設是HDFS系統下的根目錄

列印指定子目錄:

hadoop fs -ls /package/test/#HDFS系統下某個目錄

2) 上傳檔案、目錄(put、copyFromLocal)

put用法:

上傳新檔案:

hdfs fs -put file:/root/test.txt hdfs:/  #上傳本地test.txt檔案到HDFS根目錄,HDFS根目錄須無同名檔案,否則“File exists”

hdfs fs -put test.txt /test2.txt  #上傳並重命名檔案。

hdfs fs -put test1.txt test2.txt hdfs:/  #一次上傳多個檔案到HDFS路徑。


上傳資料夾:

hdfs fs -put mypkg /newpkg  #上傳並重命名了資料夾。
 

覆蓋上傳:

hdfs fs -put -f /root/test.txt /  #如果HDFS目錄中有同名檔案會被覆蓋


copyFromLocal用法:

上傳檔案並重命名:

hadoop fs -copyFromLocal file:/test.txt hdfs:/test2.txt

3) 下載檔案、目錄(get、copyToLocal)

get用法:

拷貝檔案到本地目錄:

hadoop fs -get hdfs:/test.txt file:/root/

拷貝檔案並重命名,可以簡寫:

hadoop fs -get /test.txt /root/test.txt

copyToLocal用法

拷貝檔案到本地目錄:

hadoop fs -copyToLocal hdfs:/test.txt file:/root/

拷貝檔案並重命名,可以簡寫:

hadoop fs -copyToLocal /test.txt /root/test.txt

4) 拷貝檔案、目錄(cp)

從本地到HDFS,同put

hadoop fs -cp file:/test.txt hdfs:/test2.txt

從HDFS到HDFS

hadoop fs -cp hdfs:/test.txt hdfs:/test2.txt

hadoop fs -cp /test.txt /test2.txt

5) 移動檔案(mv)

hadoop fs -mv hdfs:/test.txt hdfs:/dir/test.txt

hadoop fs -mv /test.txt /dir/test.txt

6) 刪除檔案、目錄(rm)

刪除指定檔案

hadoop fs -rm /a.txt

刪除全部txt檔案

hadoop fs -rm /*.txt

遞迴刪除全部檔案和目錄

hadoop fs -rm -R /dir/

7) 讀取檔案(cat、tail)

hadoop fs -cat /test.txt  #以位元組碼的形式讀取

hadoop fs -tail /test.txt

8) 建立空檔案(touchz)

hadoop fs - touchz /newfile.txt

9) 建立資料夾(mkdir)

hadoop fs -mkdir /newdir /newdir2#可以同時建立多個

hadoop fs -mkdir -p /newpkg/newpkg2/newpkg3 #同時建立父級目錄

10) 獲取邏輯空間檔案、目錄大小(du)

hadoop fs - du /  #顯示HDFS根目錄中各檔案和資料夾大小

hadoop fs -du -h /  #以最大單位顯示HDFS根目錄中各檔案和資料夾大小

hadoop fs -du -s /  #僅顯示HDFS根目錄大小。即各檔案和資料夾大小之和