- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
大数据分析主流工具-Spark介绍
一.Spark是什么
Spark是伯克利大学2009年开始研发的一个项目,它是大数据时代下的一个快速处理数
据分析工作的框架。spark发展十分迅速,2014年,Hadoop的四大商业机构均宣称全力
支持Spark,今后将全面接收基于Spark编写的数据挖掘与分析算法,多家世界顶级的数
据企业例如Google,Facebook等现已纷纷转向Spark框架。
近两年,Spark在中国的发展达到了一个前所未有的状态和高度。其中阿里巴巴的有哪些信誉好的足球投注网站
和广告业务,最初使用Mahout和MapReduce来解决复杂的机器学习问题,但是在效率
和代码维护方面并不理想,现已转向Spark框架。淘宝技术团队
使用Spark实现了多次迭代的机器学习算法和一些高计算复杂度的算法,并将其运用在
推荐系统上;同时还利用Spark中的一系列组件解决了基于最大连通图的社区发现、基
于三角形计数的关系衡量、基于随机游走的用户属性传播等许多生产问题。止匕外,腾
讯也是最早使用Spark的应用之一,借助Spark快速迭代的优势,腾讯提出了大数据精
准推荐,并采用“数据+算法+系统”这套技术方案支持每天上百亿的请求量。
二、为什么spark如此之火?
•Spark四大特性之特性一:快速
相同的实验环境与数据下,在内存中运行相同的程序,Spark比MapReduce快约100倍;
在磁盘中运彳T相同的程序,Spark要MapReduce快约10倍。例如图2所示,Spark和
MapReduce进行逻辑回归运算后的实验数据。
®
①
ER6UC
仁
ria
针对于非常考验系统性能的排序问题,图3解释Spark与MapReduce对100TB
数据样本排序的实验结果比较:MapReduce用了2100台机器,花费72分钟;
而Spark仅用207台机器,不到前者的1/10,花费23分钟,接近前者的1/3
On-DiskSortRecord:Timetosort100TB
2013Record:2100machines::::::;:::
Hadoop
oniHDcL-rj.207machines:
21i14Record::
Spark
23minutes
此外,众多实验表明,在处理迭代式应用上Spark比MapReduce快20多倍;计算数据
分析类报表的性能提高了40多倍;Spark能够在5-7秒的延时内交互式扫描仃B数据集。
Spark运行速度如此之快,主要得益于以下两方面:一方面,Spark中的运算大多是基于
内存的。Spark提出了一种分布式的内存抽象,称为弹性分布式数据集
。
(RDD,ResilientDistributedDatasets)RDD支持基于工作集的应用,同时具有数据流模型的
特点:自动容错、位置感知调度和可伸缩性。
RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工
作集,这极大地提升了查询速度。另一方面,Spark从稳定的物理存储(如分布式文件系
统)中加载记录,记录被传入由一组确定性操作构成的DAG,然后
写回稳定存储。DAG数据流图能够在运行时自动实现任务调度和故障恢复。尽管非循环
数据流是一种很强大的抽象方法,但仍然有些应用无法使用这种方式描述。
Spark能够在多个并行操作之间重用工作数据集,适用于非循环数据流模型难以处理的应
用。
•Spark四大特性之特性二:易用
Spark编程非常高效、简洁,支持多种语言的API,如Java,Scala,Python
等,而且代码非常简洁。例如在基于MapReduce开发的WordCount示例程序中,用户
需要重写Map类和Reduce类,虽然MapReduce类似八股文的程序编写模式极大地简化
了并行程序开发过程,但是程序代码至少几十行。若基于Spark开发同样的WordCount
程序,仅需下面短短的几行代码,例如下面程序是对存储在HDFS上的wc.input中的单
词个数进行统计:
sc.textFile(hdfs://master:8020/
文档评论(0)