Spark精华问答 | 学Spark究竟有什么用?

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


640?wx_fmt=png

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


640?wx_fmt=gif1



















Q:Spark是什么?


A:Apache Spark是用于大规模数据处理的统一分析引擎。

从右侧最后一条新闻看,Spark也用于AI人工智能

spark是一个实现快速通用的集群计算平台。它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的、低延迟的数据分析应用程序。它扩展了广泛使用的MapReduce计算

模型。高效的支撑更多计算模式,包括交互式查询和流处理。spark的一个主要特点是能够在内存中进行计算,及时依赖磁盘进行复杂的运算,Spark依然比MapReduce更加高效。


640?wx_fmt=gif2

Q:spark的组成有哪些?


A:Spark组成(BDAS):全称伯克利数据分析栈,通过大规模集成算法、机器、人之间展现大数据应用的一个平台。也是处理大数据、云计算、通信的技术解决方案。

它的主要组件有:

SparkCore:将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。

SparkSQL:Spark Sql 是Spark来操作结构化数据的程序包,可以让我使用SQL语句的方式来查询数据,Spark支持 多种数据源,包含Hive表,parquest以及JSON等内容。

SparkStreaming: 是Spark提供的实时数据进行流式计算的组件。

MLlib:提供常用机器学习算法的实现库。

GraphX:提供一个分布式图计算框架,能高效进行图计算。

BlinkDB:用于在海量数据上进行交互式SQL的近似查询引擎。

Tachyon:以内存为中心高容错的的分布式文件系统。


640?wx_fmt=gif3

Q:Spark的工作流程是什么样的呢?


A:通俗的解释就是:Spark是为了处理数据而生的平台,用一个比喻来形容它是餐馆。餐馆搭建好了后,就会有顾客,顾客的各种需求都得有人去处理,那么这时的Master就像是服务员,负责了解顾客的要求并把需求按照一定规律分配给厨师(Worker),这个顾客的需求就是一个APP,但这个APP不止包括了一个菜(job),整个订单里有很多个job,每个job都得由这些厨师处理,厨师的手就像是具体处理的Executor,负责所有的包括shuffle啊,filter啊,map啊,reduce等等具体的对原材料(RDD)的处理。driver就像是懒惰的厨师长,worker向它申请资源,同时它负责接收下面的人处理好的半成品材料或者完成品的菜品,但它自己并不干具体的活,如果是别人处理好的半成品,driver就将它分配给它认为有空的人接着处理(可能是map后要reduce的东西),直到目前的stage结束得到具体想要的结果,如果是直接就是想要的数据形式(一个job的完成),那么driver就通知master收货并反馈给顾客(可能是python程序,scala程序等等)。


640?wx_fmt=gif4

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=gif5

Q:Apache Spark和Apache Storm之间有什么差异,用户应该根据什么来加以选择?


A:Apache Spark是一个内存中的分布式数据分析平台- 主要针对加快批量分析工作,反复机器学习的工作,交互式查询和图形处理。一个最主要区别是Spark使用弹性分布式数据集(RDD)。RDD是通过并行运算符来进行计算,并根据定义它是一成不变的。RDD允许Spark基于谱系信息容错的独特的形式。如果你对执行Hadoop MapReduce作业更快,那么Spark是一个很好的选择(即使在这里需要考虑内存的因素)。

Apache Storm是专注于流处理或者一些所谓复杂事件的处理。Storm实现容错的方法进行计算或者以流水线的方式多次计算一个事件,由于Storm进入一个需要特定格式的系统,那么可能导致它转换为一个非结构化的数据。

Storm和Spark存在相当不同的使用情况。Storm和Spark流更多是类似“苹果和苹果”比较。由于Spark的SSD本身是不可变的,Spark流实现在用户定义的时间间隔“定量”来实现更新,得到改造成自己的RDD的方法,从而Spark的并行操作人员可以对这些RDD进行计算。这是与Storm处理每个事的不同之处。

这两种技术之间的一个主要区别是,Spark进行数据的并行计算,而Storm则是任务的并行计算。无论是那种方法,都有它表现价值的一方面。


640?wx_fmt=png

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

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

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


福利

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


640?wx_fmt=jpeg


推荐阅读:

  • 漫话:如何给女朋友解释灭霸的指响并不是真随机"消灭"半数宇宙人口的?

  • 【数据分析】盘点五一期间最受欢迎的几个景区

  • 数据库不适合上容器云?| 技术头条

  • 互联网出海十年

  • 华为员工年薪 200 万!真相让人心酸!

  • 天才程序员:25 岁进贝尔实验室,32 岁创建信息论  琥珀  极客宝宝  5天前

  • 安全顾问反水成黑客, 靠瞎猜盗得5000万美元的以太币, 一个区块链大盗的另类传奇

  • 人造器官新突破!美国科学家3D打印出会“呼吸”的肺 | Science


640?wx_fmt=png真香,朕在看了!

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

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

相关文章

SecureCRT 设置护眼最佳方案 的字体及颜色

SecureCRT远程连接Linux服务器 文章目录1. 选择全局选项2. 选择默认会话-【编辑默认设置】3. 选择仿真-【终端选择Linux】4. 选择外观-【当前颜色方案(白/黑)】 -【字符编码】5. 字体修改-点击字体6. 选择字体及大小7. 关闭重启SecureCRT8. 效果图&#…

qt中QTreeWidget控件的使用

引言 在按照项目设计的样式来实现的时候,发现了一些问题,幸运的是最终找到了解决的方法。 详情 1.QTreeWidget设置列数和隐藏头(这里指的是有1所在的那个部位) ui->treeWidget->setColumnCount(1);//设置有1列ui->tr…

SecureCRT 免安装、绿色版、免费版本

SecureCRT远程连接Linux服务器 文章目录1. 下载软件2. 解压软件3. 双击运行4. 选择SecureCRT5. 图标点击,输入用户名6. 添加密码,点击确定7. 连接成功1. 下载软件 链接https://pan.baidu.com/s/1vv40uI_0uwIagPGm7FS9_g 提取码t32h 2. 解压软件 3. 双击…

qt中QMultiMap获取键值

概述 QMultiMap获取键值分为两种&#xff0c;一种是获取所有的键值&#xff0c;包含重复的键值&#xff0c;一种是获取不重复的键值&#xff0c;下面记录一下。 1.获取键值 使用函数values(). QMultiMap<int,stuDepart> bookMap; QList<int> levels bookMap.val…

GitHub重大更新即将加入免费软件包管理服务;钉钉社区因出现违规内容将停更整改一个月;Uber上市,定价为45美元……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go永安行共享电动汽车&#xff…

SecureCRT 文件下载上传

SecureCRT远程连接Linux服务器 文章目录1. 点击SecureFX图标2. 填写密码3. 窗口简要说明4. 上传文件5. 下载文件6. 第二种方案(建议使用)&#xff1a;7. 拖拽文件或目录8. 效果图1. 点击SecureFX图标 2. 填写密码 3. 窗口简要说明 4. 上传文件 5. 下载文件 6. 第二种方案(建议使…

qt中关于按钮的click()函数卓见

概述 按钮有一个基类QAbstractButton&#xff0c;这个类中有一个函数click(),j几乎所有的函数都继承了这个类QAbstractButton&#xff0c;同时这个函数click()是一个公有的槽函数&#xff0c;也就是意味着所有的子类都可以调用这个函数。而这个click&#xff08;&#xff09;函…

《复联4》| 生活需要漫威这块糖

戳蓝字“CSDN云计算”关注我们哦&#xff01;漫威电影宇宙&#xff0c;历时11年&#xff0c;经历了21部电影&#xff0c;终于迎来了最终章。有人问如果没看过复联1、2、3可以去看吗&#xff1f;只看过钢铁侠没接触过复联可以去看吗&#xff1f;......看当然是可以看的&#xff…

企业实战02:Oracle数据库的安装和卸载

Oracle数据库专栏 文章目录一、 Oracle安装1.1. Oracle下载链接&#xff1a;1.2. 解压到一个文件夹中1.3. 百度云解压包&#xff1a;二、Oracle安装流程2.1. 以管理员身份运行2.2. 下图忽略2.3. 开始安装2.4. 选择-【是】2.5. 不勾选邮箱2.6. 选择【是】2.7. 选择创建和配置数据…

qt中在QMultiMap中删除自定义数据类的元素

引言 当我们使用QMultiMap的remove函数来删除容器中的某一个元素时&#xff0c;若是容器中存放的是基本数据类型&#xff0c;则程序编译的时候没有任何问题&#xff0c;但是当容器中存放的是自定义的数据&#xff0c;这时若是C基础比较扎实的&#xff0c;应该不会出现编译报错…

10 种最流行的 Web 挖掘工具 | 程序员硬核评测

戳蓝字“CSDN云计算”关注我们哦&#xff01; 程序员硬核评测&#xff1a;客观、高效、不说软话。无论是技术质量、性能水平&#xff0c;还是工具筛选&#xff0c;一测便知&#xff01;作者 | prowebscrapers blog译者 | 高级农民工责编 | 胡巍巍本文经授权转载自高级农民工互…

企业实战03:Oracle数据库_用户和表空间

Oracle数据库专栏 命令后面可以不加;分号 SQL语句后面一定要加;分号 文章目录用户和表空间2-1 使用系统用户登录Oracle系统用户2-2 Oracle用户和表空间之查看登录用户2-3 Oracle用户和表空间之启用scott用户2-4 练习题2-5 Oracle用户和表空间之表空间概述理解表空间&#xff1a…

qt获取QString中第一个汉字

概述 一串汉语中获取这串汉语中的第一个汉字。采用的方法front(). QString str(QStringLiteral("李数"));QString strText str.front();

Kubernetes精华问答 | K8s架构和组件是怎样的?

kubernetes&#xff0c;简称K8s&#xff0c;是用8代替8个字符“ubernete”而成的缩写。是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes的目标是让部署容器化的应用简单并且高效&#xff08;powerful&#xff09;,Kubernetes提供了应…

企业实战01:Oracle数据库概述

Oracle数据库专栏 文章目录1 用户与表空间1.1 用户1.2 表空间2 表与约束2.1 表2.2 约束在表中的作用3 约束种类4 查询语句4.1 查询的作用1 用户与表空间 1.1 用户 安装Oracle之后的系统用户有哪些&#xff1f;如何通过他们登陆Oracle数据库&#xff1f; 1.2 表空间 所登录数…

qt设置模态对话框并设置对话框的位置

引言 当对话框弹出的时候&#xff0c;其它的操作不能进行&#xff0c;这个对话框就是模态对话框&#xff0c;非模态对话框弹出的时候&#xff0c;其它的操作依旧可以做。以上就是通俗的理解模态对话框与非模态对话框。下面实现当模态对话框弹出的时候&#xff0c;设置弹出的位…

PLSQL 设置布局

前言:设置符合自己的PL/SQL布局 文章目录1. 设置符合自己风格的布局2.【Windows】-【Save Layout】1. 设置符合自己风格的布局 2.【Windows】-【Save Layout】

苹果应用商店反垄断案败诉,市值蒸发500多亿美元;脸书杠上了土耳其政府;Nutanix 扩展多云产品组合……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go新款iPhone XR各种色系&#…

qt中设置QCheckBox的文本与勾选框之间的距离

引言 项目中需要设置QCheckBox的文本与勾选框之间的距离&#xff0c;还有需要将勾选框设置的大一点&#xff0c;不是使用原始大小的勾选框。花了一点时间才知道如何实现。现在记录一下。 示例 我是通过样式表实现的文本与勾选框之间的距离&#xff0c;以及勾选框的大小。下面…

微服务化后缓存怎么做?

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a;cnstonefang转自&#xff1a; 方丈的寺院摘要最近接手的代码中遇到几…