Hadoop支援的多種檔案系統URI格式
org.apache.hadoop.fs.FileSystem
這個抽象類代表hadoop的一個檔案系統,目前系統已經有很多個具體實現:
檔案系統 URI字首 hadoop的具體實現類
Local file fs.LocalFileSystem
HDFS hdfs hdfs.DistributedFileSystem
HFTP hftp hdfs.HftpFileSystem
HSFTP hsftp hdfs.HsftpFileSystem
HAR har fs.HarFileSystem
KFS kfs fs.kfs.KosmosFileSystem
FTP ftp fs.ftp.FTPFileSystem
S3 (native) s3n fs.s3native.NativeS3FileSystem
S3 (blockbased) s3 fs.s3.S3FileSystem
Hadoop提供了很多介面來訪問這些檔案系統,最常用的是通過URI字首來訪問正確的檔案系統。比如:
hadoop fs -ls file:///…….
hadoop fs -ls hdfs:///…….
MapReduce使用的檔案系統
雖然理論上MapReduce可以使用上面這些系統,但是如果我們處理海量資料的話還是要選用一個分散式檔案系統hdfs或者kfs。
程式碼片段
private static FileSystem createFileSystem(URI uri, Configuration conf
) throws IOException {
Class