《spark实战》笔记02--Spark基础概念

来源:《spark实战》讲义


  • [1 ] Spark生态系统
    《spark实战》笔记02--Spark基础概念_第1张图片

  • [2 ] Spark特点

  • 先进架构
    • Spark采用Scala语言编写,底层采用了actor model的akka作为通讯框架,代码十分简洁高效。
    • 基于DAG图的执行引擎,减少多次计算之间中间结果写到Hdfs的开销。
    • 建立在统一抽象的RDD(分布式内存抽象)之上,使得它可以以基本一致的方式应对不同的大数据处理场景。

  • 高效
    • 提供Cache机制来支持需要反复迭代的计算或者多次数据共享,减少数据读取的IO开销。
    • 与Hadoop的MapReduce相比,Spark基于内存的运算比MR要快100倍;而基于硬盘的运算也要快10倍!

  • 易用
    • Spark提供广泛的数据集操作类型(20+种),不像Hadoop只提供了Map和Reduce两种操作。
    • Spark支持Java,Python和Scala API,支持交互式的Python和Scala的shell。

  • 提供整体解决方案
    • 以其RDD模型的强大表现能力,逐渐形成了一套自己的生态圈,提供了full-stack的解决方案。
    • 主要包括Spark内存中批处理,Spark SQL交互式查询,Spark Streaming流式计算, GraphX和MLlib提供的常用图计算和机器学习算法

  • 与Hadoop无缝衔接
    • Spark可以使用YARN作为它的集群管理器
    • 读取HDFS,HBase等一切Hadoop的数据


  • [3 ] Spark特点
    《spark实战》笔记02--Spark基础概念_第2张图片

• Spark提供了多种高级工具: Shark SQL应用于即席查询(Ad-hoc query)、 Spark
Streaming应用于流式计算、 MLlib应用于机器学习、 GraphX应用于图处理。

• Spark可以基于自带的standalone集群管理器独立运行,也可以部署在Apache Mesos
和 Hadoop YARN 等集群管理器上运行。

• Spark可以访问存储在HDFS、 Hbase、 Cassandra、 Amazon S3、 本地文件系统等等
上的数据,Spark支持文本文件,序列文件,以及任何Hadoop的InputFormat。


  • [4 ] Spark核心概念
    Spark任务提供多层分解的概念,
    Spark组件将用户的应用程序分解为内部执行任务并提供执行容器,
    资源管理为spark组件提供资源管理和调度

《spark实战》笔记02--Spark基础概念_第3张图片


  • [5 ] Spark端到端流程
    《spark实战》笔记02--Spark基础概念_第4张图片

  • [6 ] Spark的运行模式
    《spark实战》笔记02--Spark基础概念_第5张图片

  • [7 ] Spark on Standalone

 Master和Worker是standalone的角色, Driver和Executor是Spark的角色。
 Master负责分配资源,分配Driver和Executor, 让Worker启动driver和executor,只管
理到executor层,不涉及任务;
 Driver负责生成task,并与executor通信,进行任务的调度和结果跟踪,不涉及资源。

《spark实战》笔记02--Spark基础概念_第6张图片
《spark实战》笔记02--Spark基础概念_第7张图片

  • [8 ] Spark on Yarn
     与Standalone类似,不过YARN架构更通用,可以在同一集群部署Hadoop、 Spark等。
     RM、 NM和AM是YARN的角色, Driver和Executor是Spark的角色。
     RM负责资源分配,分配App Master和Executor; AM负责向RM申请资源,启动Driver和
    启动Executor
     Driver负责task的生成, task的调度和结果跟踪
    《spark实战》笔记02--Spark基础概念_第8张图片

你可能感兴趣的:(大数据,spark,spark)