大数据技术之Spark 优于 Hadoop 吗
沉沙 2019-09-24 来源 : 阅读 1146 评论 0

摘要:本篇文章探讨了大数据技术之Spark 优于 Hadoop 吗,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章探讨了大数据技术之Spark 优于 Hadoop 吗,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

大数据技术之Spark 优于 Hadoop 吗

<

  对于任何一个进入大数据世界的人来讲,大数据和Hadoop 就成了同义词。随着人们学习了大数据生态系统及其工具和运作原理,他们更能理解大数据的实际意义以及Hadoop 在生态系统中所扮演的角色。
 
  维基百科对大数据这样解释:大数据是一个宽泛的术语,它指传统数据处理应用程序无法处理的巨大而复杂的数据集。
 
  简单来讲,随着数据量的增加,采用常规处理方法需要花费大量时间且价格不菲。
 
  Doug Cutting受谷歌GFS及MapReduce白皮书的启发,在 2005年创办了Hadoop 。Hadoop 采用开源软件框架对超大数据集进行分布式存储技术及分布式处理。换句话说,设计这一产品的目的在于缩减处理大数据集的时间和成本。
 
  Hadoop,其分布式文件系统(HDFS)和分布式处理模块(MapReduce)成为大数据计算的实际标准。Hadoop 这一术语不仅可以与基础模块相关,也与可兼容Hadoop的其他软件包生态系统息息相关。
 
  随着时间的推移,生成的数据量猛增,处理大量数据的需求也随之猛增。这最终使大数据计算需要满足各种不同需求,而这些需求并非都可以全部由Hadoop 完成。
 
  大多数数据分析本质上是迭代处理。尽管迭代处理可以由MapReduce完成,但数据读取应该在每次迭代中进行。通常情况下,这并没有问题。但如果读取100GB的数据或几个TB的数据时,就会费时,而人们会不耐烦
 
  许多人认为数据分析是一门艺术而非一门科学。在任何艺术领域,艺术家创造一小块部分拼图,又将小拼图将放到更大的拼图上,见证它的生长。可以粗略的翻译为:数据分析师想在下一个处理开始之前得到前一个处理的结果。换句话说,许多数据分析学在本质上都是交互式的。在传统意义上,交互式分析习惯上受结构化查询语言(SQL)的影响。分析师在数据库中撰写可在数据中运行的查询条件。尽管Hadoop 也有同类产品(Hive和Pig),这原本也耗时,因为每个查询条件需要大量时间处理数据。
 
  这些障碍促使了Spark的诞生,这种新型处理模块能促进迭代编程和交互式分析。Spark装备了一个将数据载入存储器并反复查询的内存原始模型。这使Spark非常适合大量数据分析及机器学习算法。
 
  注意,Spark仅仅规定了分布式处理模块。存储数据部分仍然依赖Hadoop(分布式文件系统HDFS)采用分布存储方式高效存储数据,而不由Spark完成
 
  Spark 将大数据生态系统设置在超光速磁盘上,确保比MapReduce快10-100倍。许多人认为这可能是MapReduce的终结。
 
  操作简单
 
  相比MapReduce来讲,Spark操作简单,甚至可以说非常便捷。即使对于一个简单逻辑或算法,MapReduce也需要100行代码;但使用Spark,一个简单逻辑,几行代码就可以完成。这就引出了一个关键因素,叫做用途广泛。许多对于MapReduce来讲不可能完成的机器学习或图表问题的高级算法,都可以由Spark完成。这让Spark的采用率相当高。
 
  MapReduce没有交互模块。尽管Hive和Pig包含命令行接口,这些系统的性能仍然依赖MapReduce。MapReduce对于批处理仍然十分受用。
 
  Spark 在内存中处理数据,而MapReduce却将处理后的数据传送回磁盘。所以Spark将优于MapReduce。
 
  在2014年,Spark晋级Daytona GraySort测试并拔得头筹。对于门外汉来说,DaytonaGraySort是测试系统检索100TB(一万亿条记录)数据速度的第三方评判基准。
 
  Spark使用206个AWS EC2 设备,在23分钟内将100TB的数据存储到磁盘上。此前的最高记录保持者是MapReduce,它使用了2100台设备,总共花费了72分钟。Spark在相同的条件下却比MapReduce快了3倍,使用的设备总数也少了10倍。
 
  Spark占用大量内存。如果我们运行Spark的同时运行其他占用内存的服务,其性能可能大打折扣。但是,我们可以有把握地说,Spark在迭代处理方面占上风(需要多次传递同一数据)。
 
  成本
 
  这两者在计算能力、磁盘和网络环境方面的硬件要求都十分相似。内存越大,Spark表现越好。这两者都使用商品服务器。
 
  MapReduce编程费力,市场上这方面的专家并不多。即便有为数不多的Spark专家,但这也仅仅是因为Spark是初创产品。所以学习Spark编程比MapReduce要容易的多。
 
  脱离了Hadoop 的Spark
 
  运行Spark其实并不需要Hadoop的支持。如果我们没有从分布式文件系统(HDFS)中读取数据,Spark也可以自行运行。Spark也可以从诸如S3, Cassandra等其他存储中读写数据。在这种架构下,Spark可在独立模式下运行,并不需要Hadoop 组件的支持。
 
  产品使用
 
  近期研究表明在产品中使用Spark的用户激增。许多用户同时运行Spark和Cassandra, 或者Spark和Hadoop ,又或者在Apche Mesos上运行Spark. 尽管Spark用户数量有所增长,但并没有在大数据社区造成恐慌。MapReduce使用率可能会下降,但具体降幅未知。
 
  许多人预测Spark会促使另一种更优质堆栈的发展。但这种新型堆栈可能会与Hadoop 及其软件包生态系统非常相似。
 
  Spark的最大优点是简洁。但它并不会彻底消灭MapReduce,因为使用MapReduce依然大有人在。即便Spark成为大赢家,除非研发新分布式文件系统,我们将同时使用Hadoop 和Spark处理数据。
 
     

      本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程