028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Spark基础面试题有哪些

本篇内容介绍了“Spark基础面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联10多年企业网站建设服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,企业网站建设及推广,对咖啡厅设计等多个行业拥有多年的网站营销经验的网站建设公司。

① 面试题:简述 Spark 的架构与作业提交流程(画图讲解,注明各个部分的作用)

Spark基础面试题有哪些        Spark基础面试题有哪些

两张图一起看,左侧图是简化版,右侧图较完整。

YARN-Cluster任务提交流程:

参考链接:https://www.jianshu.com/p/e1cf4c58ae35

Yarn模式,Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-client和yarn-cluster两种模式,区别如下:

① 主要区别在于:Driver程序的运行节点

② Driver的位置不同导致的性能的差异

② 面试题:简述 Spark 的两种核心 Shuffle(HashShuffle 与 SortShuffle) 的工作流程(包括未优化的 HashShuffle、优化的 HashShuffle、普 通的 SortShuffle 与 bypass 的SortShuffle)

参考链接:https://www.jianshu.com/p/6f55b8412f03

HashShuffleManager运行原理

Spark基础面试题有哪些

2.1 未经过优化的HashShuffleManager

假设前提:每个Executor只有1个CPU core,也就是说,无论这个Executor上分配多少个task线程,同一时间都只能执行一个task线程。

Spark基础面试题有哪些

上游的stage的task对相同的key执行hash算法,从而将相同的key都写入到一个磁盘文件中,而每一个磁盘文件都只属于下游stage的一个task。在将数据写入磁盘之前,会先将数据写入到内存缓冲,当内存缓冲填满之后,才会溢写到磁盘文件中。但是这种策略的不足在于,下游有几个task,上游的每一个task都就都需要创建几个临时文件,每个文件中只存储key取hash之后相同的数据,导致了当下游的task任务过多的时候,上游会堆积大量的小文件 。

具体的过程分为“写过程”和“读过程”,参看上面的链接。

2.2 经过优化的HashShuffleManager

假设前提:每个Executor只有1个CPU core,也就是说,无论这个Executor上分配多少个task线程,同一时间都只能执行一个task线程。

Spark基础面试题有哪些

Shuffle Write过程:

Shuffle Read过程:

SortShuffleManager运行原理

    SortShuffleManager的运行机制主要分成两种,一种是普通运行机制,另一种是bypass运行机制。当shuffle read task的数量小于等于spark.shuffle.sort.bypassMergeThreshold参数的值时(默认为200),就会启用bypass机制。

2.3 SortShuffleManager普通运行机制

Spark基础面试题有哪些

Shuffle Write过程:


2.4 SortShuffleManager的bypass机制
Spark基础面试题有哪些
 

Shuffle Write过程:

“Spark基础面试题有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网页名称:Spark基础面试题有哪些
本文来源:http://www.tsicrk.com/article/peepdc.html

其他资讯

让你的专属顾问为你服务

4.8995s