Spark:比Hadoop更强大的分布式数据计算项目

&">nbsp;   Spark是一个由加州大学伯克利分校(UC Berkeley AMP)开发的一个分布式数据快速分析项目。它的核心技术是弹性分布式数据集(Resilient distributed datasets),提供了比Hadoop更加丰富的MapReduce模型,可以快速在内存中对数据集进行多次迭代,来支持复杂的数据挖掘算法和图计算算法。

Spark使用Scala开发,使用Mesos作为底层的调度框架,可以和 hadoop和Ec2紧密集成,直接读取hdfs或S3的文件进行计算并把结果写回hdfs或S3,是Hadoop和Amazon云计算生态圈的一部分。Spark是一个小巧玲珑的项目,项目的core部分的代码只有63个Scala文件,充分体现了精简之美。

Spark 之依赖

Map Reduce模型:作为一个分布式计算框架,Spark采用了MapReduce模型。在它身上,Google的Map Reduce和Hadoop的痕迹很重,很明显,它并非一个大的创新,
而是微创新。在基础理念不变的
前提下,它借鉴,模仿并依赖了先辈,加入了一点改进,极大的提升了MapReduce的效率。函数式编程:Spark由Scala写就,而支持的语言亦是Scala。其原因之一就是Scala支持函数式编程。这一来造就了Spark的代码简洁,二来使得基于Spark开发的程序,也特别的简洁。一次完整的MapReduce,Hadoop中需要创建一个Mapper类和Reduce 类,而Spark只需要创建相应的一个map函数和reduce函数即可,代码量大大降低。Mesos:Spark将分布式运行的需要考虑的事情,都交给了Mesos,自己不Care,这也是它代码能够精简的原因之一。HDFS和S3:Spark支持2种
分布式存储系统:HDFS和S3。应该算是目前最主流的两种了。对文件系统的读取和写入功能是Spark自己提供的,
借助Mesos分布式实现。

Spark 与Hadoop的对比

Spark的中间数据放到内存中,对于迭代运算效率更高。Spark更适合于迭代运算比较多的ML和DM运算。因为在Spark
里面,有RDD的抽象概念。Spark比Hadoop更通用。Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Reduce两种操作。比如 map,filter,flatMap,sample,groupByKey,reduceByKey,union,join,cogroup,mapValues,sort,partionBy 等多种操作类型,Spark把这些操作称为Transformations。同时还提供 Count,collect,reduce,lookup,save等多种actions操作。这些多种多样的数据集操作类型,给给开发上层应用的用户提供了方便。各个处理节点之间的通信模型不再像Hadoop那样就是唯一的Data Shuffle一种模式。用户可以命名,物化,控制中间结果的存储、分区等。可以说编程模型比Hadoop更灵活。
不过由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,
例如web服务的存储或者是增量的web爬虫和索引。就是对于那种增量修改的应用模型不适合。容错性。在分布式数据集计算时通过checkpoint来实现容错,而checkpoint有两种方式,一个是checkpoint data,一个是logging the updates。用户可以控制采用哪种方式来实现容错。可用性。Spark通过提供丰富的Scala, Java,Python API及交互式Shell来提高可用性。

时间: 2024-10-29 08:08:15

Spark:比Hadoop更强大的分布式数据计算项目的相关文章

大数据-spark streaming如何更好的计算关系型数据库中数据?

问题描述 spark streaming如何更好的计算关系型数据库中数据? 各位大虾过来围观一下. spark streaming在计算日志时通常会使用kafka+spark的架构, 目前很少看到有大虾讲spark streaming计算关系型数据库中的数据. 希望有大虾过来围观讨论,如何更好的把关系型数据库中的数据同步至spark中, 进行实时计算.有什么更好的架构或者开源软件的解决方案 解决方案 官网上看到Spark Streaming内置就支持两类数据源, 1) 基础数据源(Basic s

《Spark与Hadoop大数据分析》一一2.1 Apache Hadoop概述

2.1 Apache Hadoop概述 Apache Hadoop 是一个软件框架,可以在具有数千个节点和 PB 级数据的大型集群上进行分布式处理.Apache Hadoop 集群可以使用故障率一般较高的低价通用硬件来构建.Hadoop 的设计能够在没有用户干预的情况下优雅地处理这些故障.此外,Hadoop 采用了让计算贴近数据(move computation to the data)的方法,从而显著降低了网络流量.它的用户能够快速开发并行的应用程序,从而专注于业务逻辑,而无需承担分发数据.分

《Spark与Hadoop大数据分析》——2.2 Apache Spark概述

2.2 Apache Spark概述 Hadoop和MR已有10年历史,已经被证明是高性能处理海量数据的最佳解决方案.然而,MR在迭代计算中性能不足,在这种情况下,多个MR作业之间的输出必须被写入 HDFS.在单个MR作业中,它的性能不足则是因为MR框架存在的一些缺点所致. 让我们来看看计算趋势的发展历史,以便了解计算的格局在过去20年中的变化. 这个趋势是当网络成本更低时(1990年代)对URI索引(Reference),当存储成本更低时(2000 年代)进行复制(Replicate),以及当

Spark和Hadoop分析遇障碍?可以试试容器啊

将定制的Spark和Hadoop试点项目转移到生产中是一项艰巨的任务,但容器技术缓解了这种艰难的过渡. 当团队试图将小型试点项目转变为面向数据科学团队和业务分析人员的大型运营应用程序时,Spark和Hadoop分析工作往往会遇到困难.对于许多人来说,这是他们在大数据分析之路上遇到的最大障碍. 配置的复杂性有时候也是绊脚石.由一个单独的数据科学家构建的自定义配置的原型可能需要很长的时间来重新创建,一旦失败,是由一个更广泛的用户池共享.为了解决这些问题,一些人利用DevOps型容器和微服务技术将Sp

Spark与Hadoop两大技术趋势解析

文章讲的是Spark与Hadoop两大技术趋势解析,开源数据集如今深受开发者喜爱,比如谷歌的Images dataset数据集,YouTube-8M数据集等.通过对数据集里的数据进行分析,可以发现许多隐藏信息,比如客户喜好.未知相关性,市场趋势以及其他有用的商业信息.大数据分析对企业降低成本,准确掌握市场趋势,更快完成产品迭代十分有用.说到大数据分析,16年基本被Spark与Hadoop霸屏,到底是什么样的魔力让它们足以引起大数据世界的波动,未来又会如何发展呢? Apache Spark Apa

《Spark与Hadoop大数据分析》一一3.6 Spark 资源管理器:Standalone、YARN和Mesos

3.6 Spark 资源管理器:Standalone.YARN和Mesos 在本章其他部分(在 PySpark shell 和应用程序中),我们已经在 Spark 的 Standalone 资源管理器中执行过 Spark 应用程序.让我们尝试理解这些集群资源管理器相互之间有什么不同,以及它们该在什么情况下使用.3.6.1 本地和集群模式 在继续讲解集群资源管理器之前,让我们来了解集群模式与本地模式的区别. 当跨集群执行代码时,了解变量和方法的范围和生命周期非常重要.让我们看一个使用 foreac

《Spark与Hadoop大数据分析》——3.6 Spark 资源管理器:Standalone、YARN和Mesos

3.6 Spark 资源管理器:Standalone.YARN和Mesos 在本章其他部分(在 PySpark shell 和应用程序中),我们已经在 Spark 的 Standalone 资源管理器中执行过 Spark 应用程序.让我们尝试理解这些集群资源管理器相互之间有什么不同,以及它们该在什么情况下使用. 3.6.1 本地和集群模式 在继续讲解集群资源管理器之前,让我们来了解集群模式与本地模式的区别. 当跨集群执行代码时,了解变量和方法的范围和生命周期非常重要.让我们看一个使用 forea

《Spark与Hadoop大数据分析》一一2.3 为何把 Hadoop 和 Spark 结合使用

2.3 为何把 Hadoop 和 Spark 结合使用 Apache Spark 与 Hadoop 结合使用时表现更好.为了理解这一点,让我们来看看 Hadoop 和 Spark 的特性.2.3.1 Hadoop 的特性 2.3.2 Spark 的特性 当这两个框架结合起来的时候,我们就得到了具有内存级性能的企业级应用的威力,如图2-11 所示.关于 Spark 的常见问题以下是从业者对 Spark 提出的常见问题: 我的数据集无法完全放进内存.我该如何使用 Spark 呢?如果数据无法完全放进

Hadean完成260万美元融资,将颠覆 Spark、Hadoop等大数据框架

众所周知,利用算法分析不同规模的数据量时所需要的服务器资资源是不一样的 .许多企业在做大数据分析时,尤其是数据量非常庞大时,所需要的服务器资源仍是一笔无法避免巨大开销. 然而一家来自伦敦的公司近期声称他们创新型的解决了这一难题,他们的解决方案将在无须占用任何工程资源的前提下用算法对任意规模数据进行运算与分析. 听起来虽然不可思议,但资本还是用真金白金给出了回复.伦敦的Hadean今日完成了260万美元的种子轮投资,投资方为White Cloud Capital 和 Entrepreneur Fi