写点什么

概述 Spark 主要特点

  • 2022-10-25
    北京
  • 本文字数:907 字

    阅读完需:约 3 分钟

概述Spark主要特点

Spark 是在 MapReduce 基础上产生的,它克服了 MapReduce 存在的性能低下、编程不够灵活等缺点。Spark 作为一种 DAG 计算框架,其主要特点如下:

1、性能高效

其性能高效主要体现在以下几个方面:

  • 内存计算引擎:Spark 允许用户将数据放到内存中以加快数据读取,进而提高数据处理性能。Spark 提供了数据抽象 RDD,它使得用户可将数据分布到不同节点上存储,并选择存储到内存或磁盘,或内存磁盘混合存储。

  • 通用 DAG 计算引擎:相比于 MapReduce 这种简单的两阶段计算引擎,Spark 则是一种更加通用的 DAG 引擎,它使得数据可通过本地磁盘或内存流向不同计算单元而不是(像 MapReduce 那样)借助低效的 HDFS。

  • 性能高效:Spark 是在 MapReduce 基础上产生的,借鉴和重用了 MapReduce 众多已存在组件和设计思想,包括基于 InputFormat 和 OutputFormat 的读写组件、Shuffle 实现、推测执行优化机制等,同时又引入了大量新颖的设计理念,包括允许资源重用、基于线程池的 Executor、无排序 Shuffle、通用 DAG 优化和调度引擎等。据有关测试结果表明,在相同资源消耗的情况下,Spark 比 MapReduce 快几倍到几十倍。

2、简单易用

不像 MapReduce 那样仅仅局限于 Mapper、Partitioner 和 Reducer 等几种低级 API,Spark 提供了丰富的高层次 API,包括 sortByKey、groupByKey、cartesian(求笛卡尔积)等。为方便不同编程语言喜好的开发者,Spark 提供了四种语言的编程 API:Scala、Python、Java 和 R。从代码量方面比较,实现相同功能模块,Spark 比 MapReduce 少 2~5 倍。

3、与 Hadoop 完好集成

Hadoop 发展到现在,已经成为大数据标准解决方案,涉及数据收集、数据存储、资源管理以及分布式计算等一系列系统,它在大数据平台领域的地位不可撼动。Spark 作为新型计算框架,将自己定位为除 MapReduce 等引擎之外的另一种可选的数据分析引擎,它可以与 Hadoop 进行完好集成:可以与 MapReduce 等类型的应用一起运行在 YARN 集群,读取存储在 HDFS/HBase 中的数据,并写入各种存储系统中。

总之,Spark 以上有别于 MapReduce 的特点,使得它在数据分析、数据挖掘和机器学习等方面得到广泛的应用,Spark 已经取代 MapReduce 成为应用最广泛的大数据计算引擎,而基于 MapReduce 实现的开源机器学习库 Mahout[插图]也已经迁移到 Spark 或 Flink 等新型 DAG 计算平台上。


发布于: 刚刚阅读数: 5
用户头像

InfoQ签约作者 2018-11-30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
概述Spark主要特点_spark_穿过生命散发芬芳_InfoQ写作社区