Hadoop文件系统详解-----(一)
Hadoop有一个抽象的文件系统概念,HDFS只是其中的一个实现。Java抽象类 org.apache.hadoop.fs.FileSystem展示了Hadoop的一个文件系统,而且有几个具体实现,如表 3-1所示。文件系统
URI
方案
Java实
现(全部在
org.apache.hadoop)
描述
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-
FileSystem
在HTTPS上提供对
HDFS只读访问的
文件系统(同上,与
FTP无关)
HAR
har
fs.HarFileSystem
一个构建在其他文
件系统上来存档文
件的文件系统。Hadoop
存档一般在HDFS中
的文件存档时使用,
以减少名称节点内存的使用
KFS(Cloud-Store)
kfs
fs.kfs.Kosmos-
FleSystem
cloudstore(其前身是
Kosmos文件系统)
是相似于HDFS或是
Google的GFS的文件
系统,用C++编
写。详
情可参见http://kosmosfs.
sourceforge.net/
FTP
ftp
fs.ftp.FTP-
FileSystem
由FTP服务器支持的
文件系统
S3(本地)
s3n
fs.s3native.Native-
S3FileSystem.
由Amazon S3支
持的文件
系统。可参见
http://wiki.apache.org
/hadoop/AmazonS3
S3(基于
块)
s3
fs.s3.S3FileSystem
由 Amazon S3支
持的文件系统,
以块格式存储文件
(与HDFS很相似)
来解决S3的5 GB
文件大小限制
Hadoop提供了许多文件系统的接口,它一般使用URI 方案来选取合适的文件系统实例交互。举例来说,我们在前一小节中研究的文件系统shell可以操作所有的Hadoop文件系统。列出本地文件系统根目录下的文件,输入以下命令:
1.% hadoop fs -ls file:///
尽管运行那些可访问任何文件系统的MapReduce程序是可行的(有时也很方便),但在处理大量数据时,仍然需要选择一个有最优本地数据的分布式文件系统,如HDFS或者KFS。
页:
[1]