Hadoop有一个抽象的文件系统概念,HDFS只是其中的一个实现。Java抽象类 org.apache.hadoop.fs.FileSystem展示了Hadoop的一个文件系统,而且有几个具体实现,如表 3-1所示。
文件系统 |
URI |
Java实 现(全部在 |
描述 |
Local |
file |
fs.LocalFileSystem |
针对有客户端校验和 的本地连接磁盘使用 的文件系统。针对没 有校验和的本 地文件系统使用 RawLocalFileSystem。 详情参见第4章 |
HDFS |
hdfs |
hdfs.Distributed- FileSystem |
Hadoop的分布式 文件系统。HDFS 被设计为结合使用 Map-Reduce实现高 效工作 |
HFTP |
hftp |
hdfs.HftpFileSystem |
一个在HTTP上提 供对HDFS只读访 问的文件系统(虽然 其名称为HFTP,但 它与FTP无关)。通 常与distcp结合使用 (参见第3章),在运 行不同版本HDFS的 集群间复制数据 |
HSFTP |
hsftp |
hdfs.Hsftp- |
在HTTPS上提供对 HDFS只读访问的 文件系统(同上,与 FTP无关) |
HAR |
har |
fs.HarFileSystem |
一个构建在其他文 件系统上来存档文 件的文件系统。Hadoop 存档一般在HDFS中 的文件存档时使用, 以减少名称节点内存的使用 |
KFS(Cloud-Store) |
kfs |
fs.kfs.Kosmos- |
cloudstore(其前身是 Kosmos文件系统) 是相似于HDFS或是 Google的GFS的文件 系统,用C++编 写。详 情可参见http://kosmosfs. |
FTP |
ftp |
fs.ftp.FTP- |
由FTP服务器支持的 文件系统 |
S3(本地) |
s3n |
fs.s3native.Native- |
由Amazon S3支 持的文件 系统。可参见 http://wiki.apache.org |
S3(基于 |
s3 |
fs.s3.S3FileSystem |
由 Amazon S3支 持的文件系统, 以块格式存储文件 (与HDFS很相似) 来解决S3的5 GB 文件大小限制 |
Hadoop提供了许多文件系统的接口,它一般使用URI 方案来选取合适的文件系统实例交互。举例来说,我们在前一小节中研究的文件系统shell可以操作所有的Hadoop文件系统。列出本地文件系统根目录下的文件,输入以下命令:
1. % hadoop fs -ls file:///
尽管运行那些可访问任何文件系统的MapReduce程序是可行的(有时也很方便),但在处理大量数据时,仍然需要选择一个有最优本地数据的分布式文件系统,如HDFS或者KFS。
原文地址:http://blog.csdn.net/crxy2016/article/details/44851875