Hadoop HDFS常用檔案操作命令

2021-09-20 09:31:56 字數 3742 閱讀 4373

呼叫檔案系統(fs)shell命令應用 bin / hadoop fs 的形式。(可以將hadoop的bin目錄配置環境變數)

所有的的fs shell命令使用uri路徑作為引數.uri格式是scheme://許可權/路徑。對hdfs檔案系統,方案是hdfs,對本地檔案系統,scheme是file。其中scheme和authority引數都是可選的,如果未加指定,就會使用配置中指定的預設方案。乙個hdfs檔案或目錄比如/ parent / child可以表示成hdfs:// namenode:namenodeport / parent / child,或者更簡單的/ parent / child(假設你配置檔案中的預設值是namenode:namenodeport)。

用法:hadoop fs -mkdir [-p]

將路徑uri作為引數並建立目錄。

選項:-p選項行為很像unix mkdir -p,沿路徑建立父目錄。

例:hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2

hadoop fs -mkdir hdfs: hdfs:

用法:hadoop fs -ls [-c] [-d] [-h] [-q] [-r] [-t] [-s] [-r] [-u]

選項:-c:僅顯示檔案和目錄的路徑。

-d:目錄列為純檔案。

-h:以人類可讀的方式格式化檔案大小(例如64.0m而不是67108864)。

-q:列印?而不是不可列印的字元。

-r:遞迴列出遇到的子目錄。

-t:按修改時間排序輸出(最近的第乙個)。

-s:按檔案大小排序輸出。

-r:反轉排序順序。

-u:使用訪問時間而不是修改時間進行顯示和排序。

對於檔案,ls使用以下格式返回檔案的stat:許可權number_of_replicas userid groupid filesize modification_date modification_time filename

對於目錄,它返回其直接子節點的列表,如在unix中。目錄列為:許可權userid groupid modification_date modification_time dirname

預設情況下,目錄中的檔案按檔名排序。

例:hadoop fs -ls / user / hadoop / file1

用法:hadoop fs -put [-f] [-p] [-l] [-d] < local file or dir >…< hdfs dir >

將單個src或多個srcs從本地檔案系統複製到目標檔案系統。如果源設定為「 - 」,還從stdin讀取輸入並寫入目標檔案系統。如果檔案已存在,則複製失敗,除非給出-f標誌。

選項:-p:保留訪問和修改時間,所有權和許可權。(假設許可權可以跨檔案系統傳播)

-f:覆蓋目標(如果已存在)。

-l:允許datanode延遲將檔案持久儲存到磁碟,強制複製因子為1.此標誌將導致永續性降低。小心使用。

-d:使用字尾._copying_跳過臨時檔案的建立。

例子:hadoop fs -put localfile / user / hadoop / hadoopfile

hadoop fs -put -f localfile1 localfile2 / user / hadoop / hadoopdir

hadoop fs -put -d localfile hdfs:

hadoop fs -put - hdfs: 從stdin讀取輸入。

3.1copyfromlocal

使用方法:hadoop fs -copyfromlocal uri

除了限定源路徑是乙個本地檔案外,和把命令相似。

用法:hadoop fs -get [-ignorecrc] [-crc] [-p] [-f]

將檔案複製到本地檔案系統。可以使用-ignorecrc選項複製crc校驗失敗的檔案。可以使用-crc選項複製檔案和crc。

例:hadoop fs -get /user/hadoop/file localfile

hadoop fs -get hdfs: localfile

4.1copytolocal

使用方法:hadoop fs -copytolocal [-ignorecrc] [-crc] uri

除了限定目標路徑是乙個本地檔案外,和get命令類似。

使用方法:hadoop fs -cp uri [uri …]

將檔案從源路徑複製到目標路徑這個命令允許有多個源路徑,此時目標路徑必須是乙個目錄。

示例:hadoop fs -cp /user/hadoop /file / user/hadoop/file2

hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

用法:hadoop fs -mv uri [uri …]

將檔案從源移動到目標。此命令允許多個源,在這種情況下,目標需要是目錄。不允許跨檔案系統移動檔案。

例:hadoop fs -mv / user / hadoop / file1 / user / hadoop / file2

hadoop fs -mv hdfs: hdfs: hdfs: hdfs:

退出**:

用法:hadoop fs -du [-s] [-h] [-x] uri [uri …]

顯示給定目錄中包含的檔案和目錄的大小或檔案的長度,以防它只是乙個檔案。

選項:-s選項將導致顯示檔案長度的彙總摘要,而不是單個檔案。如果沒有-s選項,則通過從給定路徑向上移動1級來完成計算。

-h選項將以「人類可讀」的方式格式化檔案大小(例如64.0m而不是67108864)

-x選項將從結果計算中排除快照。如果沒有-x選項(預設),則始終從所有inode計算結果,包括給定路徑下的所有快照。

du返回三列,格式如下:

size disk_space_consumed_with_all_replicas full_path_name

例:hadoop fs -du / user / hadoop / dir1 / user / hadoop / file1 hdfs:

用法:hadoop fs -text

獲取原始檔並以文字格式輸出檔案。允許的格式為zip和textrecordinputstream。

使用方法:hadoop fs -cat uri [uri …]

將路徑指定檔案的內容輸出到stdout。

示例:hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2

hadoop fs -cat file:///file3/user/hadoop/file4

使用方法:hadoop fs -chmod [-r] uri [uri …]

改變檔案的許可權。使用-r將使改變在目錄結構下遞迴進行。命令的使用者必須是檔案的所有者或者超級使用者。

使用方法:hadoop fs -chown [-r] [owner] [:[group]] uri [uri]

改變檔案的擁有者。使用-r將使改變在目錄結構下遞迴進行。命令的使用者必須是超級使用者。

用法:hadoop fs -df [-h] uri [uri …]

顯示可用空間。

選項:-h選項將以「人類可讀」的方式格式化檔案大小(例如64.0m而不是67108864)

例:hadoop dfs -df / user / hadoop / dir1

hadoop HDFS常用檔案操作命令

hdfs dfs 與 hadoop fs 效果一樣 1.put從本地載入檔案到hdfs 基本語法 localfile hdfs file hdfs file的父目錄一定要存在,否則命令不會執行 localfileordir hdfs dir hdfs dir 一定要存在,否則命令不會執行 從鍵盤讀取...

hadoop HDFS常用檔案操作命令

1 hadoop fs cmd args 1.ls 列出hdfs檔案系統根目錄下的目錄和檔案 1hadoop fs ls dir 1hadoop fs ls r dir 列出hdfs檔案系統所有的目錄和檔案 2.put hadoop fs put hdfs file的父目錄一定要存在,否則命令不會執...

hadoop hdfs 檔案優點

隨著網際網路資料規模的不斷增大,對檔案儲存系統提出了更高的要求,需要更大的容量 更好的效能以及更高安全性的檔案儲存系統,與傳統分布式檔案系統一樣,hdfs分布式檔案系統也是通過計算機網路與節點相連,但也有優於傳統分布式檔案系統的優點。1.支援超大檔案 hdfs分布式檔案系統具有很大的資料集,可以儲存...