日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop fs命令详解

發布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop fs命令详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文非原創,轉載自http://www.superwu.cn/2013/07/31/312

另外參考:http://www.blogjava.net/changedi/archive/2013/08/12/402696.html

Hadoop框架之HDFS的shell操作

既然HDFS是存取數據的分布式文件系統,那么對HDFS的操作,就是文件系統的基本操作,比如文件的創建、修改、刪除、修改權限等,文件夾的創建、刪除、重命名等。對HDFS的操作命令類似于Linux的shell對文件的操作,如ls、mkdir、rm等。

我們執行以下操作的時候,一定要確定hadoop是正常運行的,使用jps命令確保看到各個hadoop進程。

?

我們執行命令hadoop fs,如圖4-1所示。

圖4-1

圖中顯示了很多命令選項信息。以上截圖不全,我在表格4-1中完整地列出了支持的命令選項。

選項名稱使用格式含義
-ls-ls <路徑>查看指定路徑的當前目錄結構
-lsr-lsr <路徑>遞歸查看指定路徑的目錄結構
-du-du <路徑>統計目錄下個文件大小
-dus-dus <路徑>匯總統計目錄下文件(夾)大小
-count-count [-q] <路徑>統計文件(夾)數量
-mv-mv <源路徑> <目的路徑>移動
-cp-cp <源路徑> <目的路徑>復制
-rm-rm [-skipTrash] <路徑>刪除文件/空白文件夾
-rmr-rmr [-skipTrash] <路徑>遞歸刪除
-put-put <多個linux上的文件> <hdfs路徑>上傳文件
-copyFromLocal-copyFromLocal <多個linux上的文件> <hdfs路徑>從本地復制
-moveFromLocal-moveFromLocal <多個linux上的文件> <hdfs路徑>從本地移動
-getmerge-getmerge <源路徑> <linux路徑>合并到本地
-cat-cat <hdfs路徑>查看文件內容
-text-text <hdfs路徑>查看文件內容
-copyToLocal-copyToLocal [-ignoreCrc] [-crc] [hdfs源路徑] [linux目的路徑]從本地復制
-moveToLocal-moveToLocal [-crc] <hdfs源路徑> <linux目的路徑>從本地移動
-mkdir-mkdir <hdfs路徑>創建空白文件夾
-setrep-setrep [-R] [-w] <副本數> <路徑>修改副本數量
-touchz-touchz <文件路徑>創建空白文件
-stat-stat [format] <路徑>顯示文件統計信息
-tail-tail [-f] <文件>查看文件尾部信息
-chmod-chmod [-R] <權限模式> [路徑]修改權限
-chown-chown [-R] [屬主][:[屬組]] 路徑修改屬主
-chgrp-chgrp [-R] 屬組名稱 路徑修改屬組
-help-help [命令選項]幫助

注意:以上表格中路徑包括hdfs中的路徑和linux中的路徑。對于容易產生歧義的地方,會特別指出“linux路徑”或者“hdfs路徑”。如果沒有明確指出,意味著是hdfs路徑。

下面我們講述每個命令選項的用法。

-ls 顯示當前目錄結構

該命令選項表示查看指定路徑的當前目錄結構,后面跟hdfs路徑,如圖4-1所示。

圖4-1

上圖中的路徑是hdfs根目錄,顯示的內容格式與linux的命令ls –l顯示的內容格式非常相似,下面解析每一行的內容格式:

l 首字母表示文件夾(如果是“d”)還是文件(如果是“-”);

l 后面的9位字符表示權限;

l 后面的數字或者“-”表示副本數。如果是文件,使用數字表示副本數;文件夾沒有副本;

l 后面的“root”表示屬主;

l 后面的“supergroup”表示屬組;

l 后面的“0”、“6176”、“37645”表示文件大小,單位是字節;

l 后面的時間表示修改時間,格式是年月日時分;

l 最后一項表示文件路徑。

可見根目錄下面有四個文件夾、兩個文件。

如果該命令選項后面沒有路徑,那么就會訪問/user/<當前用戶>目錄。我們使用root用戶登錄,因此會訪問hdfs的/user/root目錄,如圖4-2所示。

圖4-2

如果沒有這個目錄/user/root,會提示文件不存在的錯誤。

-lsr 遞歸顯示目錄結構

該命令選項表示遞歸顯示當前路徑的目錄結構,后面跟hdfs路徑。如圖4-3所示。

圖4-3

顯示/user目錄下有個root目錄,root目錄下有文件abc。

?

-du 統計目錄下各文件大小

該命令選項顯示指定路徑下的文件大小,單位是字節,如圖4-4所示。

圖4-4

-dus 匯總統計目錄下文件大小

該命令選項顯示指定路徑的文件大小,單位是字節,如圖4-5所示。

圖4-5

請讀者比較圖4-4與圖4-5的區別,體會兩個命令選項的不同含義。

-count 統計文件(夾)數量

該命令選項顯示指定路徑下的文件夾數量、文件數量、文件總大小信息,如圖4-6所示。

圖4-6

在圖4-6中有兩條命令,下面的命令是為了佐證上面命令的正確性的。

-mv 移動

該命令選項表示移動hdfs的文件到指定的hdfs目錄中。后面跟兩個路徑,第一個表示源文件,第二個表示目的目錄,如圖4-7所示。

圖4-7

在圖4-7中有三條命令,是為了體現移動前后的變化情況。

-cp 復制

該命令選項表示復制hdfs指定的文件到指定的hdfs目錄中。后面跟兩個路徑,第一個是被復制的文件,第二個是目的地,如圖4-8所示。

圖4-8

在圖4-8中有三條命令,是為了體現復制前后的變化情況。

-rm 刪除文件/空白文件夾

該命令選項表示刪除指定的文件或者空目錄,如圖4-9所示。

圖4-9

在圖4-9中,前三條命令是為了體現執行前后的變化情況。第四條命令是刪除非空的“/user/root”目錄,操作失敗,表明不能刪除非空目錄。

-rmr 遞歸刪除

該命令選項表示遞歸刪除指定目錄下的所有子目錄和文件,如圖4-10所示。

圖4-10

-put 上傳文件

該命令選項表示把linux上的文件復制到hdfs中,如圖4-11所示。

圖4-11

-copyFromLocal 從本地復制

操作與-put一致,不再舉例。

-moveFromLocal 從本地移動

該命令表示把文件從linux上移動到hdfs中,如圖4-12所示。

圖4-12

-getmerge 合并到本地

該命令選項的含義是把hdfs指定目錄下的所有文件內容合并到本地linux的文件中,如圖4-13所示。

圖4-13

-cat 查看文件內容

該命令選項是查看文件內容,如圖4-14所示。

圖4-14

-text 查看文件內容

該命令選項可以認為作用和用法與-cat相同,此處略。

-mkdir 創建空白文件夾

該命令選項表示創建文件夾,后面跟的路徑是在hdfs將要創建的文件夾,如圖4-15所示。

圖4-15

-setrep 設置副本數量

該命令選項是修改已保存文件的副本數量,后面跟副本數量,再跟文件路徑,如圖4-16所示。

圖4-16

在圖4-16中,我們修改了文件/install.log的副本數,由1修改為2,意味著多了一個副本,HDFS會自動執行文件的復制工作,產生新的副本。

如果最后的路徑表示文件夾,那么需要跟選項-R,表示對文件夾中的所有文件都修改副本,如圖4-17所示。

圖4-17

在圖4-17中,我們對/user文件夾進行的操作,使用了選項-R,那么/user/root下的文件abc的副本數發生了改變。

還有一個選項是-w,表示等待副本操作結束才退出命令,如圖4-18所示。

圖4-18

請讀者自己比較以上兩圖中使用-q前后執行結果的變化情況。

-touchz 創建空白文件

該命令選項是在hdfs中創建空白文件,如圖4-19所示。

圖4-19

-stat 顯示文件的統計信息

該命令選項顯示文件的一些統計信息,如圖4-20所示。

圖1-20

在圖4-20中,命令選項后面可以有格式,使用引號表示。示例中的格式“%b %n %o %r %Y”依次表示文件大小、文件名稱、塊大小、副本數、訪問時間。

-tail 查看文件尾部內容

該命令選項顯示文件最后1K字節的內容。一般用于查看日志。如果帶有選項-f,那么當文件內容變化時,也會自動顯示,如圖4-21所示。

圖4-21

-chmod 修改文件權限

該命令選項的使用類似于linux的shell中的chmod用法,作用是修改文件的權限,如圖4-22所示。

圖4-22

在圖4-22中,修改了文件/emptyfile的權限。

如果加上選項-R,可以對文件夾中的所有文件修改權限,如圖4-23所示。

圖4-23

-chown 修改屬主

該命令選項表示修改文件的屬主,如圖4-24所示。

圖4-24

上圖中把文件/emptyfile的屬主由root修改為itcast。

也可以同時修改屬組,如圖4-25所示。

圖4-25

在圖4-25中,把文件/emptyfile的屬主和屬組都修改為itcast,如果只修改屬組,可以使用“:itcast”。

如果帶有選項-R,意味著可以遞歸修改文件夾中的所有文件的屬主、屬組信息。

-chgrp 修改屬組

該命令的作用是修改文件的屬組,該命令相當于“chown :屬組”的用法,如圖4-26所示。

圖4-26

-help 幫助

該命令選項會顯示幫助信息,后面跟上需要查詢的命令選項即可,如圖4-27所示。

圖4-27

在圖4-27中,查詢的rm的用法。

該命令選項顯示的內容并非完全準確,比如查詢count的結果就不準確,而是把所有命令選項的用法都顯示出來,如圖4-28所示。希望新的版本以后改進。

圖4-28

轉載于:https://www.cnblogs.com/cl1234/p/3566923.html

總結

以上是生活随笔為你收集整理的Hadoop fs命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。