数学之路-分布式计算-disco(3)

来源:互联网 发布:xml文件解析 java 编辑:程序博客网 时间:2024/05/17 07:28

DDFS提供了一个分布式存储层,DDFS是为支持Disco和mapreduce而设计的,可存储和处理大量不可变的数据,这让它非常适合存储,比如:日志数据,大型二进制数据(图片、视频、指数)或增量收集的未加工数据(原始)数据,比如:WEB爬行。

在此情况下,DDFS是对传统关系数据库分布式存储的补充,在扩展到TB级或PB级数据时存在困难。虽然DDFS代表了Disco分布式文件,但它不是一般用途Posix兼容文件系统,它相当于一个特定用途的层,类似于Google文件系统或相关开源项目,比如:HDFS(Hadoop的分布式文件系统)、MogileFs(用perl实现的分布式文件系统)。

在Disco中,DDFS是一个底层的组件,负责管理分发、复制、持久性、寻址和访问。

    DDFS本身并没有提供复杂的查询机制,但它与Disco jobs(作业)紧密集成,Disco能存储作业结果到DDFS中,提供持久化和简单的方式处理数据。

   DDFS是一个基于标签的文件系统,以代替将数据组织进目录层次的方式。

本博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/

在disco0.3.2之前,分割数据为人工分割,然后使用ddfs push放入用户自定义的blob(团),从Disco0.3.2之后,可使用ddfs chunk(块)去自动分组并放置尺寸受限的块,下面是一个例子:

在DDFS中,有DDFS chunk数据bigtxt./bigfile.txt

输出信息告诉该发起人被创建,能检查块的位置。

Ddfs blobs(团)数据:bigtxt

确认它包括需要操作的数据。

Chunks(块)存储在Disco的内部压缩格式中,我们让ddfs xcat替代ddfs cat,查看它们,ddfs xcat应用input_stream()(默认情况下,chain_reader()),ddfs在blobs中放置了原始字节。

如果你使用bigfile.txt,可在一个单个的chunk中存储,因为默认的块大小为64MB(压缩),bigfile.txt仅12M(非压缩)而已,可以存储更大的文件,查看需要的chunks。

提示:

如果你拥有未分组数据,需要存储在DDFS中,则数据将被分组,你可运行一个Disco job(作业),并行化分组操作,Disco包括如何做的例子,对大部分用户案例来说,不需要修改。

map和reduce函数统计单词,输入以下代码:

def fun_map(line,params):

forword in line.split():

    yield word,1

map函数有2个参数,它们是line和params。

第一个参数包括一个输入单元,为文本中的一行。


0 0
原创粉丝点击