1. 程式人生 > >HDFS檔案系統的基本操作

HDFS檔案系統的基本操作

從本地系統複製一個檔案到HDFS

hadoop fs -copyFromLocal input/text.txt \ hdfs://localhost/user/saikikky/text.txt

上述命令可以將本地的text.txt檔案複製到執行在localhost上的HDFS例項中,且上面命令的hdfs://localhost可以省略

讀檔案

可以通過FileSystem API讀取資料具體見書(FSDataInputStream類)

寫入檔案

progress()方法 append()方法

HDFS只允許對一個已開啟的檔案順序寫入,或在現有檔案的末尾追加資料,所以FSDataOutputStream類不允許在檔案中定位,在讀取的時候FSDataInputStream類可以在檔案中定位。所以HDFS不支援在除檔案末尾之外的其他位置進行寫入,因此,寫入時定位就沒有意義。

目錄

mkdirs()方法可以一次性新建所有必要但還沒有的父目錄,通常呼叫create()方法寫入檔案時會自動建立父目錄。

查詢檔案

FileSystem的getFileStatus()方法用於獲取檔案或目錄的FileStatus物件

列出檔案

FileSystem的listStatus()方法用於列出目錄中的內容

注意Hadoop中的FileUtil中的stat2Paths()方法的使用,它將一個FileStatus物件陣列轉換成為一個Path物件陣列。