GFS和Fnl文件的区别
GFS:Google File System
HDFS:Hadoop Distribute File System
首先,有一点要确认的是,作为GFS的一个最重要的实现,HDFS设计目标和GFS是高度一致的。在架构、块大小、元数据等的实现上,HDFS与GFS大致一致。但是,在某些地方,HDFS与GFS又有些不同。如:
1、 快照(Snapshot):
GFS中的快照功能是非常强大的,可以非常快的对文件或者目录进行拷贝,并且不影响当前操作(读/写/复制)。GFS中生成快照的方式叫copy-on-write。也就是说,文件的备份在某些时候只是将快照文件指向原chunk,增加对chunk的引用计数而已,等到chunk上进行了写操作时,Chunk Server才会拷贝chunk块,后续的修改操作落到新生成的chunk上。
而HDFS暂时并不支持快照功能,而是运用最基础的复制来完成。想象一下,当HBase上的数据在进行重新划分时(过程类似于hash平衡),HDFS需要对其中的所有数据(P/T级的)进行复制迁移,而GFS只需要快照,多不方便!
2、 记录追加操作(append):
在数据一致性方面,GFS在理论上相对HDFS更加完善。
a) GFS提供了一个相对宽松的一致性模型。GFS同时支持写和记录追加操作。写操作使得我们可以随机写文件。记录追加操作使得并行操作更加安全可靠。
b) HDFS对于写操作的数据流和GFS的功能一样。但是,HDFS并不支持记录追加和并行写操作。NameNode用INodeFileUnderConstruction属性标记正在进行操作的文件块,而不关注是读还是写。DataNode甚至看不到租约!一个文件一旦创建、写入、关闭之后就不需要修改了。这样的简单模型适合于Map/Reduce编程。
3、 垃圾回收(GC):
a) GFS垃圾回收采用惰性回收策略,即master并不会立即回收程序所删除的文件资源。 GFS选择以一种特定的形式标记删除文件(通常是将文件名改为一个包含时间信息的隐藏名字),这样的文件不再被普通用户所访问。Master会定期对文件的命名空间进行检查,并删除一段时间前的隐藏文件(默认3天)。
b) HDFS并没有采用这样的垃圾回收机制,而是采取了一种更加简单但是更容易实现的直接删除方式。
c) 应该说延迟回收和直接删除各有优势。延迟回收为那些“不小心“的删除操作留了后路。同时,回收资源的具体操作时在Master结点空闲时候完成,对GFS的性能有很好的提高。但是延迟回收会占用很大的存储空间,假如某些可恶的用户无聊了一直创建删除文件怎么办?
试分析下这种不同。有人说,GFS在功能上非常完善,非常强大,而HDFS在策略上较之简单些,主要是为了有利于实现。但实际上,GFS作为存储平台早已经被广泛的部署在Google内部,存储Google服务产生或者要处理的数据,同时用于大规模数据集的研究与开发工作。因此GFS并不仅仅是理论上的研究,而是具体实现。作为GFS的后辈与开源实现,HDFS在技术上应该是更加成熟的,不可能为了“偷懒”而简化功能。因此,简化说应该是不成立的。
个人认为,GFS与HDFS的不同是由于“专”与“通”的区别。众所周知,Hadoop是一个开源软件/框架,在设计之初就考虑到了用户(面向世界上的所有个人、企业)在需求上的差异,比如数据密集型(如淘宝的数据存储)、计算密集型(百度的PR算法)、混合型等等。而GFS在设计之初就对目标比较明确,都是Google的嘛,因此GFS可以对其主要功能进行性能上的优化。
说到这里,突然想起了某件事。曾经某个公司的Boss吹牛B:“我不关心J2EE,实际上在大公司里面用J2EE的很少,都有自己的一些框架。测试过了,我们在用自己开发的框架时候性能就是以前用J2EE的时候的7倍左右。”唬的我一跳一跳的,好牛啊!!后来想了一下,其实不是这个公司技术比SUN要强,而是J2EE是一个开源框架,其应用范围非常广,因此不能做到面面俱到。而他们公司自己开发的框架肯定是对其主要业务逻辑方面做了专门的优化和改进,甚至删除了或者弱化了许多对他们来说作用不大的模块。
貌似这个和GFS与HDFS的关系好像!!
gambit.fnl是什么?
gambit GAMBIT是为了帮助分析者和设计者建立并网格化计算流体力学(CFD)模型和其它科学应用而设计的一个软件包.GAMBIT通过它的用户界面(GUI)来接受用户的输入.GAMBIT GUI简单而又直接的做出建立模型、网格化模型、指定模型区域大小等基本步骤,然而这对很多的模型应用已是足够了 “.fnl”: 带编辑信息、无运行支持代码的支持库.
FNL是什么意思?
FNL abbr.file name length 文件名长度; Frascati National Laboratory <意大利>费拉斯卡蒂国家实验室; Friends of the National Libraries 国家图书馆赞助者; flocculonodular lobe 绒球小结叶;
如何批处理将FNL – 20101127 – 16 – 00 – C 格式的文件改名为fnl201011271600?谢谢啦!
批处理代码如下:(将此bat代码放在与要处理的文件同目录下面运行)::═════代═══码═══开═══始═════@echo offfor /f "tokens=1-5 delims=_" %%i in (‘dir /a-d/b *_*_*_*_*.*’) do (move "%%i_%%j_%%k_%%l_%%m" "%%i%%j%%k%%l%%~xm")pause::═════代═══码═══结═══束═════
请教如何将fnl – 20010101 – 00 – 00这类的文件名批处理改为grib200101010000?最好给点讲解?
@echo off set old=fnl_20010101_00_00 set new=%old:_=% echo %new% set new=%new:fnl=grib% echo %new% pause
cfsr数据和fnl数据的区别
GFS:Google File System HDFS:Hadoop Distribute File System 首先,有一点要确认的是,作为GFS的一个最重要的实现,HDFS设计目标和GFS是高度一致的.在架构、块大孝元数据等的实现上,HDFS与GFS大致一致.但是,在某些地方,HDFS与GFS又有些.
易语言里有个文件后缀名是“.e”是干什么用的?
与一个易程序相关的文件格式常用的有以下几种,一个易程序中的某些功能可能要依赖于下面的某些文件来实现.一个易程序在编译发布时可能会附带上其他需要的文件,但只有后缀名为“.e”的易程序主文件才是每一个易程序都需要的.现罗…
如何把necp fnl连接到wrf上面?
http://m.baidu.com/s?from=1002253r&word=%E5%A6%82%E4%BD%95%E6%8A%8Anecp+fnl%E8%BF%9E%E6%8E%A5%E5%88%B0wrf%E4%B8%8A%E9%9D%A2%3F
在一个文件中定义一个全局变量n,主函数main(),在另一个文件中定义函数fn1(),在main()中对n赋值,
文件名test.cpp代码如下:#include 你好,很高兴为你翻译,正确的翻译是, Футбольная национальная лига FNL 国家足球联盟之意 希望能帮到你,如果还有不明白的地方,欢迎追问,望采纳.fnl这个词 在俄罗斯是什么意思