概述
一、HDFS基本概念
HDFS全称是Hadoop Distributed System。HDFS是为以流的方式存取大文件而设计的。适用于几百MB,GB以及TB,并写一次读多次的场合。而对于低延时数据访问、大量小文件、同时写和任意的文件修改,则并不是十分适合。
目前HDFS支持的使用接口除了Java的还有,Thrift、C、FUSE、WebDAV、HTTP等。HDFS是以block-sized chunk组织其文件内容的,默认的block大小为64MB,对于不足64MB的文件,其会占用一个block,但实际上不用占用实际硬盘上的64MB,这可以说是HDFS是在文件系统之上架设的一个中间层。之所以将默认的block大小设置为64MB这么大,是因为block-sized对于文件定位很有帮助,同时大文件更使传输的时间远大于文件寻找的时间,这样可以最大化地减少文件定位的时间在整个文件获取总时间中的比例。
二、HDFS设计原则
HDFS是Google的GFS(Google File System)的开源实现。具有以下五个基本目标:
1、硬件错误是常态而不是错误。HDFS一般运行在普通的硬件上,所以硬件错误是一种很正常的情况。所以在HDFS中,错误的检测并快速自动恢复是HDFS的最核心的设计目标。
2、流式数据访问。运行在HDFS上的应用主要是以批量处理为主,而不是用户交互式事务,以流式数据读取为多。
3、大规模数据集。HDFS中典型的文件大小要达到GB或者是TB级。
4、简单一致性原则。HDFS的应用程序一般对文件的操作时一次写入、多次读出的模式。文件一经创建、写入、关闭后,一般文件内容再发
最后
以上就是刻苦橘子为你收集整理的Hadoop之HDFS读写原理的全部内容,希望文章能够帮你解决Hadoop之HDFS读写原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复