900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 大数据分布式数据处理系统 主要分为哪两种?

大数据分布式数据处理系统 主要分为哪两种?

时间:2020-07-24 06:09:41

相关推荐

大数据分布式数据处理系统 主要分为哪两种?

大数据的处理模式分为流处理和批处理两种。流处理是直接处理,批处理采用先存储再处理。

流处理将数据视为流,源源不断的数据形成数据流。当新的数据到来即立即处理并返回所需的结果。大数据的实时处理是一个极具挑战性的工作,数据具有大规模、持续到达的特点。因此,如果要求实时的处理大数据,必然要求采用分布式的方式,在这种情况下,除了应该考虑分布式系统的一致性问题,还将涉及到分布式系统网络时延的影响,这都增加了大数据流处理的复杂性。目前比较有代表性的开源流处理系统主要有:Twitter的Storm、Yahoo的S4以及Linkedin的Kafka等。

Google公司提出的MapReduce编程模型是最具代表性的批处理模型。MapReduce架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中的计算机之间必要的通信。

对于有些计算,由于输入数据量的巨大,想要在可接受的时间内完成运算,只有将这些计算分布在成百上千的主机上。这种计算模式对于如何处理并行计算、如何分发数据、如何处理错误需要大规模的代码处理,使得原本简单的运算变得难以处理。MapReduce就是针对上述问题的一种新的设计模型。

MapReduce模型的主要贡献就是通过简单的接口来实现自动的并行化和大规模的分布式计算,通过使用MapReduce模型接口实现在大量普通的PC上的高性能计算。

MapReduce编程模型的原理:利用一个输入键-值(Key/Value)对集合来产生一个输出的key/value对集合。MapReduce库的用户用两个函数表达这个计算:Map和Reduce。用户自定义的Map函数接受一个输入的key/value值,然后产生一个中间key/value对集合。MapReduce库把所有具有相同中间key值的value值集合在一起传递给Reduce函数。用户自定义的Reduce函数接收一个中间key的值和相关的一个value值的集合。Reduce函数合并这些value值,形成一个较小的value值集合

MapReduce的提出曾经遭到过一系列的指责和诟病。数据专家Stonebraker就认为MapReduce是一个巨大的倒退,指出其存取没有优化、依靠蛮力进行数据处理等问题。但是随着MapReduce在应用上的不断成功,以其为代表的大数据处理技术还是得到了广泛的关注。研究人员也针对MapReduce进行了深入的研究,目前针对MapReduce性能提升研究主要有以下几个方面:多核硬件与GPU上的性能提高;索引技术与连接技术的优化;调度技术优化等。在MapReduce的易用性的研究上,研究人员正在研究更为高层的、表达能力更强的语言和系统,包括Yahoo的Pig、Microsoft的LINQ、Hive等。

除了Google的MapReduce,Yunhong Gu等人设计实现了Sector and Sphere云计算平台[18],包括Sector和Sphere两部分。Sector是部署在广域网的分布式系统,Sphere是建立在Sector上的计算服务。Sphere是以Sector为基础构建的计算云,提供大规模数据的分布式处理。Sphere的基本数据处理模型如图4所示。

针对不同的应用会有不同的数据,Sphere统一地将它们以数据流的形式输入。为了便于大规模地并行计算,首先需要对数据进行分割,分割后的数据交给SPE执行。SPE是Sphere处理引擎,是Sphere的基本运算单元。除了进行数据处理外SPE还能起到负载平衡的作用,因为一般情况下数据量远大于SPE数量,当前负载较重的SPE能继续处理的数据就较少,反之则较多,如此就实现了系统的负载平衡。

人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:

1.在学习大数据之前,需要具备什么基础

/article-12916-1.html

2.大数据工程师培训,需要学习的有哪些课程?

/article-15081-1.html

3.大数据的特点是什么,大数据与Hadoop有什么关系?

/article-13276-1.html

多智时代-人工智能和大数据学习入门网站|人工智能、大数据、物联网、云计算的学习交流网站

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。