首页 理论教育Hadoop与Spark技术:专注差异表达基因检测数据分析

Hadoop与Spark技术:专注差异表达基因检测数据分析

【摘要】:Hadoop技术比较容易由单台服务器扩充到数千台服务器。Spark技术主要提供基于内存计算,能快速进行数据分析,具有通用性,是可扩展的分布式计算引擎。Spark技术在进行数据分析时速度快。Spark技术有Hadoop以及MapReduce的特点,但Spark技术与MapReduce的不同之处是不需要读写HDFS,中间输出的结果保存在内存中。基于Spark技术和Hadoop框架结合的机器学习算法,解决了Mahout在迭代算法处理数据时消耗资源过多和系统整体性能下降的缺陷,提高了数据处理分析的速度[162]。

Hadoop技术比较容易由单台服务器扩充到数千台服务器。Hadoop框架的核心设计部件是为大数据提供存储功能的HDFS(分布式文件系统)和为大数据提供计算功能的MapReduce(计算框架)。HDFS对数据进行分布式存储和读取,能动态弹性扩展存储大规模数据,具有冗余备份特性;MapReduce采用分而治之的思想,把一个数据处理过程拆分为负责数据过滤分发的Map过程和负责数据计算归并的Reduce过程,依据规则编写Map(映射),计算Reduce(规约)程序,完成计算任务。Hadoop具有分布式计算与存储功能,可扩展性强,支持TB和PB级别的超级文件存储,当扩充容量或运算时,仅仅通过增加数据节点服务器就可以;采用非结构化数据存储具有良好的弹性,采用分布式架构,数据有备份副本,具有良好的可靠性,某一台服务器硬件甚至整个机架损坏,HDFS仍可正常运行[160]

Spark技术主要提供基于内存计算,能快速进行数据分析,具有通用性,是可扩展的分布式计算引擎。Spark支持数据查询、机器学习等业务场景,业务场景能无缝交叉融合,在不同应用中使用,可以快速构建高性能大数据分析。Spark的体系结构不同于Hadoop的MapReduce和HDFS,主要可分为以下几部分:Spark Core,如弹性分布式数据集(Resilient Distributed Datasets,RDD);上下文(Spark Context)等实现Spark系统中的计算、I/O、调度和Shuffle等系统基本功能;Spark Core的上层建立的应用框架,如Spark SQL查询子项目、支持机器学习的MLlib库、GraphX图计算以及支持流计算的Spark Streaming等四大框架;其他实验性项目,如Tachyon、BlinkDB和Tungsten等。Spark用RDD进行数据抽象,将中间处理数据全部放到了内存中,减少运行时间[161]。(www.chuimin.cn)

Spark是一个开源分析处理大数据平台,基于Spark的聚类算法在图像分析、Web文本分类、生物科学、客户分群、市场营销、欺诈检测以及信息安全与管理等领域有着广泛的应用,为应对现实环境中复杂的场景,与不同的框架结合使用,能发挥更好的性能。Spark能快速处理多种场景下的大数据问题,高效挖掘大数据中的价值,为业务发展提供决策支持。Spark技术读写过程都基于内存,减少了I/O转换时间的消耗,提高了运算速度。Spark技术在进行数据分析时速度快。Spark技术有Hadoop以及MapReduce的特点,但Spark技术与MapReduce的不同之处是不需要读写HDFS,中间输出的结果保存在内存中。基于Spark技术和Hadoop框架结合的机器学习算法,解决了Mahout在迭代算法处理数据时消耗资源过多和系统整体性能下降的缺陷,提高了数据处理分析的速度[162]