大数据分析主流工具-spark介绍

大数据分析主流工具-spark介绍

ID:30799237

大小:82.38 KB

页数:7页

时间:2019-01-03

大数据分析主流工具-spark介绍_第1页
大数据分析主流工具-spark介绍_第2页
大数据分析主流工具-spark介绍_第3页
大数据分析主流工具-spark介绍_第4页
大数据分析主流工具-spark介绍_第5页
资源描述:

《大数据分析主流工具-spark介绍》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、大数据分析主流工具-Spark介绍—・Spark是什么Spark是伯克利大学2009年开始硏发的一个项目,它是大数据时代下的一个快速处理数据分析工作的框架。spark发展十分迅速,2014年zHadoop的四大商业机构均宣称全力支持Sparkz今后将全面接收基于Spark编写的数据挖掘与分析算法,多家世界顶级的数据企业例如Google,Facebook等现已纷纷转向Spark框架。近两年,Spark在中国的发展达到了一个前所未有的状态和高度。其中阿里巴巴的搜索和广告业务,最初使用Mahout和MapReduce来解决复杂的机器学习问题,但是在效率和代码维护方面并不理想,现已转向Spark框架

2、。淘宝技术团队使用Spark实现了多次迭代的机器学习算法和一些高计算复杂度的算法,并将其运用在推荐系统上;同时还利用Spark中的一系列组件解决了基于最大连通图的社区发现、基于三角形计数的关系衡量、基于随机游走的用户属性传播等许多生产问题。此夕卜,腾讯也是最早使用Spark的应用之一,借助Spark快速迭代的优势,腾讯提出了大数据精准推荐,并采用〃数据+算法+系统〃这套技术方案支持每天上百亿的请求量。二为什么spark如此之火?•Spark四大特性之特性一:快速相同的实验环境与数据下,在内存中运行相同的程序,Spark比M叩Reduce快约100倍;在磁盘中运行相同的程序,Spark要Map

3、Reduce快约10倍。例如图2所示,Spark和MapReduce进行逻辑回归运算后的实验数据。sBE匚6ucunlr■Hadoop■Spark1209060300针对于非常考验系统性能的排序问题,图3解释Spark与MapReduce对100TB数据样本排序的实验结果比较:MapReduce用了2100台机器,花费72分钟;而Spark仅用207台机器z不到前者的1/10,花费23分钟,接近前者的1/30On-DiskSortRecord:Timetosort100TB、2013Record:2100machines•••;;•••••Hadoop2014Record:•207machi

4、nes:■Spark此夕卜,众多实验表明,在处理迭代式应用上Spark比MapReduce快20多倍;计算数据分析类报表的性能提高了40多倍;Spark能够在5-7秒的延时内交互式扫描1TB数据集。Spark运行速度如此之快,主要得益于以下两方面:一方面,Spark中的运算大多是基于内存的。Spark提出了一种分布式的内存抽象,称为弹性分布式数据集(RDDzResilientDistributedDatasets)。RDD支持基于工作集的应用,同时具有数据流模型的特点:自动容错、位置感知调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大

5、地提升了查询速度。另一方面zSpark从稳定的物理存储(如分布式文件系统)中加载记录,记录被传入由一组确定性操作构成的DAG,然后写回稳定存储。DAG数据流图能够在运行时自动实现任务调度和故障恢复。尽管非循环数据流是一种很强大的抽象方法,但仍然有些应用无法使用这种方式描述。Spark能够在多个并行操作之间重用工作数据集,适用于非循环数据流模型难以处理的应用。•Spark四大特性之特性二:易用Spark编程非常高效、简洁,支持多种语言的API,如Java,Scala,Python等,而且代码非常简洁。例如在基于MapReduce开发的WordCount示例程序中,用户需要重写Map类和Redu

6、ce类,虽然MapReduce类似八股文的程序编写模式极大地简化了并行程序开发过程,但是程序代码至少几十行。若基于Spark开发同样的WordCount程序,仅需下面短短的几行代码,例如下面程序是对存储在HDFS上的wc.input中的单词个数进行统计:sc.textFile("hdfs://master:8020/user/dong/spark/wc.inputn).flatMap(.sp//?f//22./77aypfj<,l)).reduceByKey(_+J.collect由此可见,Spark编程非常简洁。这主要是因为Spark是基于Scala开发,其对数据处理提供了丰富的操作z极大

7、地提高了用户的程序开发效率。目前基于Spark的实际项目开发中约70%采用Scala语言,这是因为Spark本身就是基于Scala开发的;其次是JAVA,约占20%;此外还有Python等。•Spark四大特性之特性三:通用相对与第一代的大数据生态系统Hadoop中的MapReduce,Spark无论是在性能还是在方案的统一注方面”都有着极大的优越性”虽然MapReduce在此方面也在做积极的努力,但Spar

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。