HDFS上傳流程以及操作命令
阿新 • • 發佈:2018-12-14
操作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根目錄大小。即各檔案和資料夾大小之和