Spark世界

Spark以其快速的内存处理速度、易用的多语言接口、通用的数据处理组件和在不同环境下的部署灵活性,显著优于MapReduce。文章详细介绍了Spark与MapReduce的区别、数据结构、以及在Yahoo、淘宝和优酷土豆等公司的实际应用,最后概述了Spark的不同运行模式。
摘要由CSDN通过智能技术生成

Spark的特点:

1. 快速

一般情况下,对于迭代次数较多的应用程序,Spark程序在内存中的运行速度是Hadoop MapReduce运行速度的100多倍,在磁盘上的运行速度是Hadoop MapReduce运行速度的10多倍。

2. 易用性:

Spark支持使用ScalaPythonJavaR语言快速编写应用。同时Spark提供超过80高阶算子,使得编写并行应用程序变得容易并且可以在ScalaPythonR的交互模式下使用Spark

3:通用性:

Spark可以与SQLStreaming及复杂的分析良好结合。Spark还有一系列的高级工具,包括Spark SQLMLlib(机器学习库)、GraphX(图计算)和Spark Streaming(流计算),并且支持在一个应用中同时使用这些组件。

4. 随处运行

用户可以使用Spark的独立集群模式运行Spark,也可以在EC2(亚马逊弹性计算云)、Hadoop YARN或者Apache Mesos上运行Spark。并且可以从HDFSCassandraHBaseHiveTachyon和任何分布式文件系统读取数据。

5. 代码简洁

1:什么是spark

Spark是一个用来实现快速,通用的集群计算平台
spark适用于各种各样原先需要多种不同的分布式平台的场景,包括批处理,迭代算法,交互式查询,流处理。通过在一个统一的框架下支持这些不同的计算,spark使我们可以简单而低耗地把各种处理流程整合在一起。

2:Spark和MapReduce的区别:

Spark和MapReduce是两种用于大数据处理的计算框架,它们有以下几点区别:

  1. 数据处理模型:MapReduce采用经典的Map和Reduce两个阶段的模型,其中Map阶段将输入数据切分为若干个小任务并进行处理,Reduce阶段将Map阶段输出的结果进行合并。而Spark则引入了弹性分布式数据集(RDD)的概念,可以在内存中缓存数据,从而实现更高效的数据处理。

  2. 内存使用:MapReduce将中间结果写入磁盘,因此在处理迭代计算等需要多次读写数据的场景下效率较低。而Spark可以将数据缓存在内存中,避免了频繁的磁盘读写,因此在迭代计算等场景下具有更高的性能。

  3. 执行速度:由于Spark可以将数据缓存在内存中,因此在某些情况下可以比MapReduce更快地执行任务。尤其是对于迭代计算、交互式查询等需要多次操作数据的场景,Spark的性能优势更为明显。

  4. 编程模型:MapReduce使用Java编程语言进行开发,编写MapReduce程序相对复杂。而Spark提供了丰富的API,支持多种编程语言(如Java、Scala、Python等),并且提供了更高级的抽象(如DataFrame和SQL),使得开发更加简洁和灵活。

  5. 生态系统:Spark拥有更为丰富的生态系统,提供了许多高级组件和库,如Spark Streaming、Spark SQL、MLlib等,可以满足更多的数据处理需求。而MapReduce生态系统相对较小,主要集中在Hadoop生态圈内。

3:数据结构是什么:

数据结构实际上是数据元素的集合,是相互之间存在一种或多种特定关系的数据元素的集合。数据结构主要用于研究数据的存储方式,研究如何存储具有复杂关系的数据更有助于后期对数据的再利用。

4:Spark应用场景:

Yahoo

Yahoo将Spark用在Audience Expansion中。Audience Expansion是广告中寻找目标用户的一种方法,首先广告者提供一些观看了广告并且购买产品的样本客户,据此进行学习,寻找更多可能转化的用户,对他们定向广告。Yahoo采用的算法是Logistic Regression。同时由于某些SQL负载需要更高的服务质量,又加入了专门跑Shark的大内存集群,用于取代商业BI/OLAP工具,承担报表/仪表盘和交互式/即席查询,同时与桌面BI工具对接。

淘宝

淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等,将Spark运用于淘宝的推荐相关算法上,同时还利用GraphX解决了许多生产问题,包括以下计算场景:基于度分布的中枢节点发现、基于最大连通图的社区发现、基于三角形计数的关系衡量、基于随机游走的用户属性传播等。

优酷土豆

目前Spark已经广泛使用在优酷土豆的视频推荐,广告业务等方面,相比HadoopSpark交互查询响应快,性能比Hadoop提高若干倍。一方面,使用Spark模拟广告投放的计算效率高、延迟小(同Hadoop比延迟至少降低一个数量级)。另一方面,优酷土豆的视频推荐往往涉及机器学习及图计算,而使用Spark解决机器学习、图计算等迭代计算能够大大减少网络传输、数据落地等的次数,极大地提高了计算性能。

5:spark架构:

standalone模式

Spark on Mesos模式

Spark on YARN模式

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值