ITPub博客

首页 > 大数据 > Spark > Spark计算引擎介绍

Spark计算引擎介绍

原创 Spark 作者:brucexia 时间:2023-07-04 15:36:05 0 删除 编辑

1. Spark是什么

Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。

Spark是加州大学伯克利分校的AMP实验室(Algorithms, Machines and People Lab)开源的类Hadoop MapReduce的通用并行框架,拥有Hadoop MapReduce所具有的优点,但不同于MapReduce的是Job(工作)中间输出的结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark是一种与Hadoop相似的开源集群计算环境,但是两者之间存在一些不同之处,这些不同之处使Spark在某些工作负载方面表现得更加优越,换句话说,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark是在Scala语言中实现的,它将Scala用作应用程序框架。与Hadoop不同,Spark和Scala能够紧密集成,其中的Scala可以像操作本地集合对象一样轻松地操作分布式数据集。

尽管创建Spark是为了支持分布式数据集上的迭代作业,但是实际上它是对Hadoop的补充,可以在Hadoop文件系统中并行运行。通过名为Mesos的第三方集群框架可以支持此行为。Spark可以用来构建大型的、低延迟的数据分析应用程序。

2. Spark生态体系

Spark属于BDAS(伯利克分析栈)生态体系。

  • MapReduce属于Hadoop生态体系之一,Spark则属于BDAS生态体系之一。

  • Hadoop包含了MapReduce、HDFS、HBase、Hive、ZooKeeper、Pig、Sqoop等。

  • BDAS包含了Spark GraphX、Spark SQL(相当于Hive)、Spark MLlib、Spark Streaming(消息实时处理框架,类似Storm)、BlinkDB等。

Spark的生态体系示意图如下。

3.Spark运行模式

Spark有5种运行模式,其中Local是单机模式,其他4种都是集群模式:

  • Local:Spark运行在本地模式上,用于测试、开发。本地模式就是以一个独立的进程,通过其内部的多个线程来模拟整个Spark运行时环境。

  • Standlone:Spark运行在独立集群模式上。Spark中的各个角色以独立进程的形式存在,并组成Spark集群环境。

  • Hadoop YARN:Spark运行在YARN上。Spark中的各个角色运行在YARN的容器内部,并组成Spark集群环境。

  • Apache Mesos:Spark中的各个角色运行在Apache Mesos上,并组成Spark集群环境。

  • Kubernetes:Spark中的各个角色运行在Kubernetes的容器内部,并组成Spark集群环境。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18841117/viewspace-2962298/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Hive数据存储简介
请登录后发表评论 登录
全部评论

注册时间:2022-02-14

  • 博文量
    219
  • 访问量
    196257