Hadoop与分布式数据处理 Spark VS Hadoop有哪些异同点
发布网友
发布时间:2022-04-22 04:23
我来回答
共2个回答
热心网友
时间:2022-04-12 01:09
Spark是一个开源的通用并行分布式计算框架,由加州大学伯克利分校的AMP实验室开发,支持内存计算、多迭代批量处理、即席查询、流处理和图计算等多
种范式。Spark内存计算框架适合各种迭代算法和交互式数据分析,能够提升大数据处理的实时性和准确性,现已逐渐获得很多企业的支持,如阿里巴巴、百
度、网易、英特尔等公司。
针对以下几个问题来深入的学习
1、 Spark VSHadoop有哪些异同点?
Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘、分析
Spark:是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速, Spark 是一种与 Hadoop
相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark
启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop
文件系统中并行运行。通过名为Mesos的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室
(Algorithms,Machines,and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。
虽然 Spark 与 Hadoop 有相似之处,但它提供了具有有用差异的一个新的集群计算框架。首先,Spark
是为集群计算中的特定类型的工作负载而设计,即那些在并行操作之间重用工作数据集(比如机器学习算法)的工作负载。为了优化这些类型的工作负
载,Spark 引进了内存集群计算的概念,可在内存集群计算中将数据集缓存在内存中,以缩短访问延迟.
在大数据处理方面相信大家对hadoop已经耳熟能详,基于GoogleMap/Rece来实现的Hadoop为开发者提供了map、rece原
语,使并行批处理程序变得非常地简单和优美。Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Rece两种操作。比如
map,filter, flatMap,sample, groupByKey, receByKey, union,join,
cogroup,mapValues,
sort,partionBy等多种操作类型,他们把这些操作称为Transformations。同时还提供Count,collect,
rece, lookup,
save等多种actions。这些多种多样的数据集操作类型,给上层应用者提供了方便。各个处理节点之间的通信模型不再像Hadoop那样就是唯一的
Data Shuffle一种模式。用户可以命名,物化,控制中间结果的分区等。可以说编程模型比Hadoop更灵活.
2、Spark在容错性方面是否比其他工具更有优越性?
从Spark的论文《Resilient Distributed Datasets:
AFault-TolerantAbstraction for In-Memory Cluster
Computing》中没看出容错性做的有多好。倒是提到了分布式数据集计算,做checkpoint的两种方式,一个是checkpoint
data,一个是loggingthe
updates。貌似Spark采用了后者。但是文中后来又提到,虽然后者看似节省存储空间。但是由于数据处理模型是类似DAG的操作过程,由于图中的某
个节点出错,由于lineage
chains的依赖复杂性,可能会引起全部计算节点的重新计算,这样成本也不低。他们后来说,是存数据,还是存更新日志,做checkpoint还是由用
户说了算吧。相当于什么都没说,又把这个皮球踢给了用户。所以我看就是由用户根据业务类型,衡量是存储数据IO和磁盘空间的代价和重新计算的代价,选择代
价较小的一种策略。取代给中间结果进行持久化或建立检查点,Spark会记住产生某些数据集的操作序列。因此,当一个节点出现故障时,Spark会根据存
储信息重新构造数据集。他们认为这样也不错,因为其他节点将会帮助重建。
3、Spark对于数据处理能力和效率有哪些特色?
Spark提供了高的性能和大数据处理能力,使得用户可以快速得到反馈体验更好。另一类应用是做数据挖掘,因为Spark充分利用内存进行缓存,利用
DAG消除不必要的步骤,所以比较合适做迭代式的运算。而有相当一部分机器学习算法是通过多次迭代收敛的算法,所以适合用Spark来实现。我们把一些常
用的算法并行化用Spark实现,可以从R语言中方便地调用,降低了用户进行数据挖掘的学习成本。
Spark配有一个流数据处理模型,与Twitter的
Storm框架相比,Spark采用了一种有趣而且独特的办法。Storm基本上是像是放入独立事务的管道,在其中事务会得到分布式的处理。相
反,Spark采用一个模型收集事务,然后在短时间内(我们假设是5秒)以批处理的方式处理事件。所收集的数据成为他们自己的RDD,然后使用Spark
应用程序中常用的一组进行处理。作者声称这种模式是在缓慢节点和故障情况下会更加稳健,而且5秒的时间间隔通常对于大多数应用已经足够快了。这种方法也很
好地统一了流式处理与非流式处理部分。
总结
这几天在看Hadoop权威指南、hbase权威指南、hive权威指南、大规模分布式存储系统、zoopkeeper、大数据互联网大规模数据挖掘与分布式处理等书同时补充,能静下心来好好的完整的看完一本书,是相当不错的。
热心网友
时间:2022-04-12 02:27
可以读一下Spark权威指南这本书
关注公众号 登峰大数据 完整中文版《Spark权威指南》
Hadoop与分布式数据处理 Spark VS Hadoop有哪些异同点
Spark因为其处理数据的方式不一样,会比MapReduce快上很多。MapReduce是分步对数据进行处理的: ”从集群中读取数据,进行一次处理,将结果写到集群,从集群中读取更新后的数据,进行下一次的处理,将结果写到集群,等等…“ Booz Allen Hamilton的数据科学家Kirk Borne如此解析。反观Spark,它会在内存中以接...
非结构化数据如何可视化呈现?
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准...
spark和hadoop的区别
据我了解Spark和Hadoop都是大数据处理框架,但它们在处理方式和使用场景上有所不同。 Spark是一个内存计算引擎。Spark支持多种编程语言。它适用于实时数据处理和迭代计算任务。 Hadoop是一个分布式计算框架,主要用于处理海量数据。Hadoop适用于离线数据处理、批处理和数据仓库等场景。 总之,Spark更注重内存计算和实时处理,...
2分钟读懂hadoop和spark的异同
差异:1. 数据处理方式: Hadoop主要基于批处理,处理大规模数据集,适用于离线数据分析;Spark则支持批处理、流处理和图计算,处理速度更快,适用于实时数据分析。2. 运行模型: Hadoop依赖集群进行分布式计算,其核心是MapReduce模型;而Spark支持多种编程范式,如RDD、DataFrame和SQL等,可以更灵活地处理...
hadoop和spark哪个好
Spark是一个快速、通用的大数据处理框架,它提供了强大的计算能力和丰富的功能库。与Hadoop相比,Spark在处理数据速度方面更胜一筹,因为它采用了内存计算的方式,避免了频繁读写磁盘带来的性能损耗。此外,Spark支持多种编程语言和编程模型,包括SQL、Python、R等,使得开发更加便捷。Spark还提供了丰富的机器...
2分钟读懂Hadoop和Spark的异同
首先,从解决问题的层面来看,Hadoop主要是一个分布式数据基础设施,它将数据分布在多个节点上,降低了对昂贵硬件的需求,专注于存储和索引数据,以提高处理效率。而Spark则是专门用于处理分布式存储数据的工具,它不负责数据的存储,而是以高效内存计算见长。在使用上,Hadoop提供了HDFS和MapReduce功能,可以...
spark和hadoop的区别
1、诞生的先后顺序:hadoop属于第一代开源大数据处理平台,而spark属于第二代。属于下一代的spark肯定在综合评价上要优于第一代的hadoop。2、计算不同:spark和hadoop在分布式计算的具体实现上,又有区别;hadoop中的mapreduce运算框架,一个运算job,进行一次map-reduce的过程;而spark的一个job中,可以...
spark和hadoop的区别
计算不同spark和hadoop在分布式计算的底层思路上,其实是极为相似的,即mapreduce分布式运算模型:将运算分成两个阶段,阶段1-map,负责从上游拉取数据后各自运算,然后将运算结果shuffle给下游的reduce,reduce再各自对通过shuffle读取来的数据进行聚合运算spark和hadoop在分布式计算的具体实现上,又有区别;hado...
2分钟读懂大数据框架Hadoop和Spark的异同
1、 Spark VSHadoop哪些异同点 Hadoop:布式批处理计算强调批处理用于数据挖掘、析 Spark:基于内存计算源集群计算系统目让数据析更加快速, Spark 种与 Hadoop 相似源集群计算环境两者间存些同处些用同处使 Spark 某些工作负载面表现更加优越换句说Spark 启用内存布数据集除能够提供交互式查询外优化迭代工作...
hadoop,storm和spark的区别,比较
与Hadoop相比,Spark真正的优势在于速度,Spark的大部分操作都是在内存中,而Hadoop的MapReduce系统会在每次操作之后将所有数据写回到物理存储介质上,这是为了确保在出现问题时能够完全恢复,但Spark的弹性分布式数据存储也能实现这一点 另外,在高级数据处理(如实时流处理、机器学习)方面,Spark的功能要胜过...
大数据Spark和Hadoop以及区别(干货)
Spark与Hadoop紧密集成,利用Hadoop的存储系统(如HDFS)和资源调度(YARN),实现数据的高效存储和计算。相比之下,Hadoop以HDFS和MapReduce为核心,主要负责数据的分布式存储和大规模数据处理。HDFS是分布式文件系统,MapReduce则处理数据的并行计算,将数据切片后在各节点上执行。Hadoop更适合处理静态、离线的...