Spark精华问答 | 为什么要学Spark?

戳蓝字“CSDN云计算”关注我们哦!


640?wx_fmt=png

为什么要学习Spark?作为一个用来实现快速而通用的集群计算的平台。扩展广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包括交互式查询和流处理。Spark的一个重要特点就是能够在内存中计算,因而更快。即使在磁盘上进行的复杂计算,Spark依然比MapReduce更加高效。优势如此明显的Spark,是不是要好好学习一下呢?


640?wx_fmt=gif1



















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,符合市场需求。


640?wx_fmt=gif2

Q:Spark的应用场景有哪些?


A:Yahoo将Spark用在Audience Expansion中的应用,进行点击预测和即席查询等

淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等。应用于内容推荐、社区发现等
腾讯大数据精准推荐借助Spark快速迭代的优势,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通pCTR投放系统上。
优酷土豆将Spark应用于视频推荐(图计算)、广告业务,主要实现机器学习、图计算等迭代计算。


640?wx_fmt=gif3

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之中。


640?wx_fmt=gif4

Q:Spark的特性


A:Spark通过在数据处理过程中成本更低的洗牌(Shuffle)方式,将MapReduce提升到一个更高的层次。利用内存数据存储和接近实时的处理能力,Spark比其他的大数据处理技术的性能要快很多倍。

Spark还支持大数据查询的延迟计算,这可以帮助优化大数据处理流程中的处理步骤。Spark还提供高级的API以提升开发者的生产力,除此之外还为大数据解决方案提供一致的体系架构模型。

Spark将中间结果保存在内存中而不是将其写入磁盘,当需要多次处理同一数据集时,这一点特别实用。Spark的设计初衷就是既可以在内存中又可以在磁盘上工作的执行引擎。当内存中的数据不适用时,Spark操作符就会执行外部操作。Spark可以用于处理大于集群内存容量总和的数据集。

Spark会尝试在内存中存储尽可能多的数据然后将其写入磁盘。它可以将某个数据集的一部分存入内存而剩余部分存入磁盘。开发者需要根据数据和用例评估对内存的需求。Spark的性能优势得益于这种内存中的数据存储。


640?wx_fmt=gif5

Q:Spark的其他特性包括


A:支持比Map和Reduce更多的函数。优化任意操作算子图(operator graphs)。可以帮助优化整体数据处理流程的大数据查询的延迟计算。提供简明、一致的Scala,Java和Python API。提供交互式Scala和Python Shell。目前暂不支持Java。Spark是用Scala程序设计语言编写而成,运行于Java虚拟机(JVM)环境之上。目前支持如下程序设计语言


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于Spark,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!


推荐阅读:

  • 微博宕机复盘:什么样的技术架构,可支持80个明星并发出轨?

  • 漫画 | Kubernetes带你一帆风顺去远航

  • Android 告急!

  • 超酷炫!Facebook用深度学习和弱监督学习绘制全球精准道路图

  • 多地GitHub账号使用受限;Python之父考虑重构解释器;62岁程序员埋逻辑炸弹 | 开发者周刊

  • 3个核心差异, 告诉你为什么Libra永远成不了比特币!

真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle导入dmp清除之前,oracle导入dmp遇到的有关问题

oracle导入dmp遇到的问题一、 首先要明白,导入导出dmp文件是通过cmd命令执行的,而不是通过SQL plus执行的.此外也可以借助PLSQLDev工具进行导入导出记得“导出可执行文件”选择客户端安装好的bin下的exp.exe工具二、发现在导出的过程有问题:网…

每个人都应该知道的25个大数据术语

摘要: 如果你初来乍到,大数据看起来很吓人!根据你掌握的基本理论,让我们专注于一些关键术语以此给你的约会对象、老板、家人或者任何一个人带来深刻的印象。 让我们开始吧: 1.算法。“算法”如何与大数据相关?即使算法是一个通用…

【个推CTO谈数据智能】之本质及技术体系要求

戳蓝字“CSDN云计算”关注我们哦!作者|安森来源|个推技术学院安森,个推CTO毕业于浙江大学,现全面负责个推技术选型、研发创新、运维管理等工作,已带领团队开发出针对移动互联网、金融风控等行业的多项前沿数据智能解决方案。曾任M…

企业打开Redis的正确方式,来自阿里云云数据库团队的解读

摘要: Redis是开源的基于内存且可以持久化的分布式 Key – Value数据库。自2009年发布最初版本以来,Redis的热度只增不减,除了经常位居DB-Engines的最受欢迎Key-Value数据库榜首之外,看阿里云技术总监为您深度解读云数据库Redis。…

2019 年度程序员吸金榜:你排第几?

作为全球知名招聘求职网站Indeed,最近发布了2019年度最佳工作榜单,公布了2019年的行业领域及工作岗位薪酬,在全行业的榜单中,跟程序员相关的岗位有9个!对此,大家纷纷留言表示程序员或成最大赢家&#xff01…

YAFFS2移植到AliOS Things指南

摘要: YAFFS2介绍 YAFFS(Yet Another Flash File System)是第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备。YAFFS 是基于日志的文件系统,提供磨损平衡和掉电恢复的健壮性。 点此查看原文&…

阿里云十年,从去“IOE”到引领云原生浪潮

戳蓝字“CSDN云计算”关注我们哦!作者 | 孙浩峰出品 | CSDN云计算(ID:CSDNcloud)2008年,王坚从微软亚洲技术研究院空降阿里,担任首席架构师。这个在阿里内部尊称为“博士”的首席架构师所学却是一个心理学博…

linux下mtr命令,如何使用Linux mtr命令

对于经常和Linux打交道的技术人员来说,mtr命令是一个非常实用的Linux命令。它可以进行实时网络诊断。本篇文章分享了linux mtr命令的详细使用示例。以下描述来自mtr命令的软件包信息。Mtr是一种网络诊断工具,将ping和traceroute组合到一个程序中。Mtr提供…

IntelliJ IDEA 单行注释调整

部分人并不习惯这种风格,所以一般会设置为单行注释的两个斜杠跟随在代码的头部,在File -> Setting -> Editor -> Code Style -> Java -> Code Generation 下如图设置即可

高速通道-冗余物理专线接入-健康检查配置

摘要: 组建混合云,用户的IDC需要通过物理专线与阿里云VPC互通,多线冗余是基本配置需求。阿里云提供的冗余冗余切换方案是在VPC中,用户掌握切换原理,即可自主在控制台完成冗余负载配置。 一 VPC健康检查IP机制1 健康检查…

OpenStack精华问答 | OpenStack的目标是什么?

关于OpenStack的争议,从未停止,每每关于它的消息,都会一石激起千层浪。今天就让我们看看关于OpenStack的问答吧。1Q : 什么是OpenStack?A : OpenStack,是目前最为流行的开源云操作系统框架。深入理解OpenStack需要围绕…

linux创建定时任务命令,linux设置定时任务的方法步骤

一,首先登录二,找到文件夹三,查看定时任务crontab -l四,vi root 编辑定时任务 编辑完成后,点ESC,然后:wq时间格式分钟 小时 日期 月份 周 命令数字范围 0-59 0-23 1-31 1-12 0-7 echo "hello" &g…

idea terminal终端修改为git bash设置

idea terminal终端修改为git bash设置: 修改前: 修改后:

iOS KVO crash 自修复技术实现与原理解析

摘要: 【前言】KVO API设计非常不合理,于是有很多的KVO三方库,比如 KVOController 用更优的API来规避这些crash,但是侵入性比较大,必须编码规范来约束所有人都要使用该方式。有没有什么更优雅,无感知的接入…

数据中心网络架构的问题与演进 — 传统路由交换技术与三层网络架构

戳蓝字“CSDN云计算”关注我们哦!文章目录目录传统路由交换技术路由和交换交换技术传统的 2 层交换技术具有路由功能的 3 层交换技术具有网络服务功能的 7 层交换技术路由技术三层网络架构核心层(Core Layer)汇聚层(Aggregation L…

10分钟上线 - 利用函数计算构建微信小程序的Server端

摘要: 阿里云函数计算是一个事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。微信小程序是一种不需要下载安装即可使用的应用,它可以在微信内被便捷地获取和传播。 当微信小程序遇见serv…

'cross-env' 不是内部或外部命令,也不是可运行的程序

解决方案: 运行: cnpm i cross-env --save-dev

监控linux内存,linux 监控系统资源-内存

监控内存使用量:思路:使用free -m 提取相关数据,算出使用内存量输入到文件,并且每一次计算都与当前文件中的数据对比,大于文件中的数据则替换。保留当天最大内存使用量,每天发送邮件(可以单独写个发邮件的脚本)。脚本可…

AI+DevOps正当时

戳蓝字“CSDN云计算”关注我们哦!随着业务复杂化和人员的增加,开发人员和运维人员逐渐演化成两个独立的部门,他们工作地点分离,工具链不同,业务目标也有差异,这使得他们之间出现一条鸿沟。而发布软件就是将…

SpringBoot集成Flowable_Jsite待办任务菜单报500

JSite 快速开发框架,内置Flowable工作流引擎 五大基础模块 前后端基础代码自动生成 权限精确控制。 说明:此版本我已经调通,最新版本正在更新,页面未处理好,因此采用历史版本。 文章目录一、克隆/打开项目1.1. 搜索…