Spark精华问答 | 为什么要学Spark?
戳蓝字“CSDN云计算”关注我们哦!
为什么要学习Spark?作为一个用来实现快速而通用的集群计算的平台。扩展广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包括交互式查询和流处理。Spark的一个重要特点就是能够在内存中计算,因而更快。即使在磁盘上进行的复杂计算,Spark依然比MapReduce更加高效。优势如此明显的Spark,是不是要好好学习一下呢?
1
Q:学了Spark有什么用呢?
A:首先说一下Spark的优势:
1、 更高的性能。因为数据被加载到集群主机的分布式内存中。数据可以被快速的转换迭代,并缓存用以后续的频繁访问需求。在数据全部加载到内存的情况下,Spark可以比Hadoop快100倍,在内存不够存放所有数据的情况下快hadoop10倍。
2、通过建立在Java、Scala、Python、SQL(应对交互式查询)的标准API以方便各行各业使用,同时还含有大量开箱即用的机器学习库。
3、与现有Hadoop 1和2.x(YARN)生态兼容,因此机构可以无缝迁移。
4、方便下载和安装。方便的Shell(REPL: Read-Eval-Print-Loop)可以对API进行交互式的学习。
5、借助高等级的架构提高生产力,从而可以讲精力放到计算上。
所以总结一下就是简单,快速,兼容性好,功能强大。不用再将注意力放在框架上,而是集中于业务逻辑,所以在大数据中Spark很受欢迎,学习Spark,符合市场需求。
2
Q:Spark的应用场景有哪些?
A:Yahoo将Spark用在Audience Expansion中的应用,进行点击预测和即席查询等
淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等。应用于内容推荐、社区发现等
腾讯大数据精准推荐借助Spark快速迭代的优势,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通pCTR投放系统上。
优酷土豆将Spark应用于视频推荐(图计算)、广告业务,主要实现机器学习、图计算等迭代计算。
3
Q:Hadoop和Spark比较
A:Hadoop这项大数据处理技术大概已有十年历史,而且被看做是首选的大数据集合处理的解决方案。MapReduce是一路计算的优秀解决方案,不过对于需要多路计算和算法的用例来说,并非十分高效。数据处理流程中的每一步都需要一个Map阶段和一个Reduce阶段,而且如果要利用这一解决方案,需要将所有用例都转换成MapReduce模式。
而Spark则允许程序开发者使用有向无环图(DAG)开发复杂的多步数据管道。而且还支持跨有向无环图的内存数据共享,以便不同的作业可以共同处理同一个数据。
Spark运行在现有的Hadoop分布式文件系统基础之上(HDFS)提供额外的增强功能。它支持将Spark应用部署到现存的Hadoop v1集群(with SIMR – Spark-Inside-MapReduce)或Hadoop v2 YARN集群甚至是Apache Mesos之中。
4
Q:Spark的特性
A:Spark通过在数据处理过程中成本更低的洗牌(Shuffle)方式,将MapReduce提升到一个更高的层次。利用内存数据存储和接近实时的处理能力,Spark比其他的大数据处理技术的性能要快很多倍。
Spark还支持大数据查询的延迟计算,这可以帮助优化大数据处理流程中的处理步骤。Spark还提供高级的API以提升开发者的生产力,除此之外还为大数据解决方案提供一致的体系架构模型。
Spark将中间结果保存在内存中而不是将其写入磁盘,当需要多次处理同一数据集时,这一点特别实用。Spark的设计初衷就是既可以在内存中又可以在磁盘上工作的执行引擎。当内存中的数据不适用时,Spark操作符就会执行外部操作。Spark可以用于处理大于集群内存容量总和的数据集。
Spark会尝试在内存中存储尽可能多的数据然后将其写入磁盘。它可以将某个数据集的一部分存入内存而剩余部分存入磁盘。开发者需要根据数据和用例评估对内存的需求。Spark的性能优势得益于这种内存中的数据存储。
5
Q:Spark的其他特性包括
A:支持比Map和Reduce更多的函数。优化任意操作算子图(operator graphs)。可以帮助优化整体数据处理流程的大数据查询的延迟计算。提供简明、一致的Scala,Java和Python API。提供交互式Scala和Python Shell。目前暂不支持Java。Spark是用Scala程序设计语言编写而成,运行于Java虚拟机(JVM)环境之上。目前支持如下程序设计语言
小伙伴们冲鸭,后台留言区等着你!
关于Spark,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……
同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~
福利
1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!
推荐阅读:
微博宕机复盘:什么样的技术架构,可支持80个明星并发出轨?
漫画 | Kubernetes带你一帆风顺去远航
Android 告急!
超酷炫!Facebook用深度学习和弱监督学习绘制全球精准道路图
多地GitHub账号使用受限;Python之父考虑重构解释器;62岁程序员埋逻辑炸弹 | 开发者周刊
3个核心差异, 告诉你为什么Libra永远成不了比特币!
真香,朕在看了!
Spark精华问答 | 为什么要学Spark?相关推荐
- Spark精华问答 | spark的组件构成有哪些?
戳蓝字"CSDN云计算"关注我们哦! Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第 ...
- Spark精华问答 | spark性能优化方法
Hadoop再火,火得过Spark吗?今天我们继续关于Spark的精华问答吧. 1 Q:影响性能的主要因素是什么? A:网络传输开销大 硬件资源利用率低 同一资源的复用率低 2 Q:优化的方向有哪些? ...
- Spark精华问答 | RDD的核心概念是什么?
Hadoop再火,火得过Spark吗?今天我们继续关于Spark的精华问答吧. 1 Q:RDD的核心概念是什么? A:Client:客户端进程,负责提交作业到Master. Master:Standa ...
- Spark精华问答 | Spark的计算方法是什么?
戳蓝字"CSDN云计算"关注我们哦! Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第 ...
- Spark精华问答:DataFrame与RDD的主要区别在哪?
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎.目前的热度已经超过Hadoop,正所谓青出于蓝而胜于蓝,今天我们就来看看关于park 的精华问答吧. 1 Q:DataFram ...
- Spark精华问答 | Spark 会替代Hadoop 吗?
戳蓝字"CSDN云计算"关注我们哦! Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第 ...
- Spark精华问答 | Spark的三种运行模式有何区别?
戳蓝字"CSDN云计算"关注我们哦! Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第 ...
- Spark精华问答 | 怎么运行Spark?
戳蓝字"CSDN云计算"关注我们哦! 为什么要学习Spark?作为一个用来实现快速而通用的集群计算的平台.扩展广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包 ...
- Spark精华问答 | Spark做大规模高性能数值计算可以吗?
Spark作为一个用来实现快速而通用的集群计算的平台.扩展了广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,在处理大规模数据集的时候,速度是非常重要的.Spark的一个重要特点就是 ...
最新文章
- java大作业私人管家系统_操作系统概念(Operating System Concepts)第十版期中大作业...
- Docker使用自定义网络实现容器互联
- 编译时异常和运行时异常的区别
- P4323-[JSOI2016]独特的树叶【换根dp,树哈希】
- mac 下使用wireshark监听网络上的数据
- Mac brew报错Error: The following directories are not writable by your user: /usr/local/share/man/man5
- 数学归纳法与算法设计
- 如何避免出现SQL注入漏洞
- 案例应用|如何借助SPC软件实现汽车零配件品质管理
- mongodb使用csv导入导出
- 基于java的高校运动会管理系统的设计与实现--毕业论文(可仅作参考)
- 出现ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘ 的解决方法
- 浏览器如何在f12中查看接口地址_经过浏览器中的F12中来查看接口的入参、出参和网页响应时间(新手教程)...
- Elastix 显示座席的状态
- java中j=j++和j=++j的理解
- python flask实战订餐系统微信小程序-60nginx + uwsgi 实现多进程访问
- Geohash应用——附近乡镇信息挖掘(提升检索召回与准确)
- 孩子立刻就不玩游戏了,因为他找到更好玩的东西!
- 谷歌中国人才流失 遭猎头公司不断挖角
- 日本巡逻机低飞掠过韩国军舰 韩军方斥“挑衅”
热门文章
- python 跳过计算错误_在python中计算分数时如何跳过被0除的错误?
- jdk1.6的项目可以用1.8吗_摩托车链条的保养项目有哪些?可以用高压水枪清洗吗?...
- 企业微信加密消息体_用企业微信小程序发送消息
- 费城中餐馆奇葩鸡翅定价引爆网络,数万网友想要破解数学谜题
- 12位故去的国家最高科技奖得主:科学寰宇,那些永不陨落的“星”
- 2接口详解_java集合【2】——— Collection接口详解
- (pytorch-深度学习)语言模型-学习笔记
- NS2相关学习——创建Xgraph的输出文件
- Unity3d-跨平台(二)
- HugeGraph 配置参数