查看: 69|回复: 0

扣丁学堂大数据视频教程-Hadoop vs Spark

发表于 2018-6-21 11:33:26
  关于Hadoop和Spark,了解知道大数据的小伙伴都不陌生,但是Hadoop与Spark孰优孰劣的问题估计有很多人就不是那么清楚了。本篇文章小编就跟读者们分享一下扣丁学堂大数据视频教程讲解的Hadoop vs Spark孰优孰劣的问题,希望可以帮到对大数据感兴趣想要学习大数据或者正在参加大数据培训的小伙伴们。
​Hadoop与Spark孰优孰劣这个问题,最准确的观点就是,设计人员旨在让Hadoop和Spark在同一个团队里面协同运行。直接比较Hadoop和Spark有难度,因为它们处理的许多任务都一样,但是在一些方面又并不相互重叠。
  比如说,Spark没有文件管理功能,因而必须依赖Hadoop分布式文件系统(HDFS)或另外某种解决方案。将Hadoop MapReduce与Spark作一番比较来得更明智,因为它们作为数据处理引擎更具有可比性。
  过去几年,随着数据科学趋于成熟,也日益需要用一种不同的方法来处理大数据。Hadoop在一些业务应用领域的表现比后起之秀Spark更胜一筹,不过Spark在大数据领域有其一席之地,这归功于它具有速度快、易于使用的优点。本文剖析了两大平台的一系列常见属性,包括性能、容错、成本、易用性、数据处理、兼容性和安全性。
Hadoop和Spark方面要记住的最重要一点就是,它们并不是非此即彼的关系,因为它们不是相互排斥,也不是说一方是另一方的简易替代者。两者彼此兼容,这使得这对组合成为一种功能极其强大的解决方案,适合诸多大数据应用场合。
Hadoop的定义:
Hadoop是Apache.org的一个项目,其实是一种软件库和框架,以便使用简单的编程模型,跨计算器集群对庞大数据集(大数据)进行分布式处理。Hadoop可灵活扩展,从单一计算机系统,到提供本地存储和计算能力的数千个商用系统,它都能轻松支持。实际上,Hadoop就是大数据分析领域的重量级大数据平台。
Hadoop由协同运行、构建Hadoop框架的多个模块组成。Hadoop框架的主要模块包括如下:
Hadoop Common
Hadoop分布式文件系统(HDFS)
Hadoop YARN
Hadoop MapReduce
  虽然上述四个模块构成了Hadoop的核心,不过还有其他几个模块。这些模块包括:Ambari、Avro、Cassandra、Hive、Pig、Oozie、Flume和Sqoop,它们进一步增强和扩展了Hadoop的功能,得以扩大到大数据应用领域,处理庞大数据集。
  许多使用大数据集和分析工具的公司使用Hadoop。它已成为大数据应用系统中事实上的标准。设计Hadoop的初衷是处理这项任务:搜寻和搜索数十亿个网页,将这些信息收集到数据库中。正是由于渴望搜寻和搜索互联网,才有了Hadoop的HDFS及分布式处理引擎MapReduce。
  如果数据集变得极其庞大或极其复杂,以至于当前的解决方案无法在数据用户认为合理的时间段内有效地处理信息,Hadoop对公司就会大有用处。
MapReduce是一种出色的文本处理引擎,它理应如此,因为搜寻互联网和搜索互联网(它的首要任务)都是基于文本的任务。
Spark的定义:
Apache Spark开发人员声称它是“一种用于数据大规模处理的快速通用引擎”。相比之下,如果说Hadoop的大数据框架好比是800磅重的大猩猩,Spark就好比是130磅重的猎豹。
  虽然批评Spark的内存处理技术的人士承认,Spark确实速度很快(最多比Hadoop MapReduce快100倍),但他们可能并不愿意承认它在磁盘上运行起来速度最多快10倍。Spark还可以执行批量处理,然而它真正擅长的是处理流工作负载、交互式查询和基于机器的学习。
  相比MapReduce基于磁盘的批量处理引擎,Spark赖以成名之处是其数据实时处理功能。Spark与Hadoop及其模块兼容。实际上,在Hadoop的项目页面上,Spark就被列为是一个模块。
Spark有自己的页面,因为虽然它可以通过YARN(另一种资源协调者)在Hadoop集群中运行,但是它也有一种独立模式。它可以作为Hadoop模块来运行,也可以作为独立解决方案来运行,这样一来,很难直接比较两者。然而随着时间的推移,一些大数据科学家预计Spark会出现分叉,可能会取代Hadoop,尤其是在更快速地访问处理的数据至关重要的情况下。
Spark是一种集群计算框架,这意味着它更多地与MapReduce竞争,而不是与整个Hadoop生态系统竞争。比如说,Spark没有自己的分布式文件系统,但可以使用HDFS。
Spark使用内存,也可以使用磁盘进行处理,而MapReduce完全基于磁盘。MapReduce和Spark的主要区别在于,MapReduce使用持久存储,而Spark使用弹性分布式数据集(RDDS),下面容错部分有更详细的解释。
  性能:
  网上不缺关于Spark与MapReduce相比有多快的信息。对两者进行比较有个问题,那就是它们处理数据的方式不一样,数据处理部分有介绍。Spark之所以如此快速,原因在于它在内存中处理一切数据。没错,它还可以使用磁盘来处理未全部装入到内存中的数据。
Spark的内存处理为来自多个来源的数据提供了近乎实时分析的功能:营销活动、机器学习、物联网传感器、日志监控、安全分析和社交媒体网站。另外,MapReduce使用批量处理,其实从来就不是为惊人的速度设计的。它的初衷是不断收集来自网站的信息,不需要这些数据具有实时性或近乎实时性。
  易用性:
  众所周知,Spark以性能见长,但是它也因易用性而小有名气,原因是它随带易于使用的API,支持Scala(原生语言)、Java、Python和Spark SQL。Spark SQL非常类似于SQL 92,所以几乎不需要经历一番学习,马上可以上手。
Spark还有一种交互模式,那样开发人员和用户都可以获得查询和其他操作的即时反馈。MapReduce没有交互模式,不过有了Hive和Pig等附加模块,采用者使用MapReduce来得容易一点。
  以上就是扣丁学堂大数据视频教程关于Hadoop和Spark的简单介绍,希望对小伙伴们有所帮助,想要学习大数据的小伙伴一定要找专业靠谱的大数据培训机构,靠谱的大数据培训机构可以选择扣丁学堂在线学习班,扣丁学堂不仅有专业的老师和与时俱进的课程体系,还有大量的大数据在线视频供学员观看学习哦。扣丁学堂大数据学习群:209080834。


文章转载自:扣丁学堂http://www.codingke.com/



回复

使用道具 举报