面试 | Spark知识点@20190101

2019-01-01  本文已影响24人  digger30

Spark有那几种部署模式,每种模式特点是什么?

Spark Driver的功能是什么?

一个Spark作业运行时包括一个Driver进程,也就是作业的主进程,具有main函数,并且有SparkContext的实例,是程序的入口点。

功能:负责向集群申请资源,向master注册信息、负责作业调度,作业解析,生成Stage并调度Task到Executor上。

Spark为什么比MapReduce要快?

  1. Spark基于内存计算,减少了低效的磁盘交互
    • MapReduce的中间结果保存在文件中,提高了可靠性,减少了内存的占用,但是牺牲了性能
    • Spark的数据在内存中进行交换,而且Spark在Shuffle的时候不一定落盘,可以cache到内存中,一遍迭代时使用,所以性能比MapReduce要高
  2. Spark具有高效的调度算法(DAG计算模型)
    Spark的DAG计算模型在迭代计算上效率要高于MapReduce。DAG比MapReduce在大多数情况下可以减少shuffle次数,Spark的DAG相当于一个改进版的MapReduce,如果计算不涉及其他节点进行数据交换,Spark可以在内存中一次性完成这些操作,也就是中间结果无需落盘,减少了磁盘IO的操作。
  3. JVM优化
    Hadoop每次MapReduce操作,启动一个Task便会启动一次JVM。而Spark每次MapReduce操作是基于线程的,只在启动Executor的时候启动一次JVM,内存的Task操作是在线程复用的。
上一篇 下一篇

猜你喜欢

热点阅读