HDFS檔案系統的基本操作
阿新 • • 發佈:2018-12-27
從本地系統複製一個檔案到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物件陣列。