1 / 8
文档名称:

2021年spark面试题Miles.docx

格式:docx   大小:21KB   页数:8页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2021年spark面试题Miles.docx

上传人:非学无以广才 2020/11/11 文件大小:21 KB

下载得到文件列表

2021年spark面试题Miles.docx

文档介绍

文档介绍:hadoop和spark全部是并行计算,那么她们有什么相同和区分? 
二者全部是用mr模型来进行并行计算,hadoop一个作业称为job,job里面分为map task和reduce task,每个task全部是在自己进程中运行,当task结束时,进程也会结束。 
spark用户提交任务成为application,一个application对应一个sparkcontext,app中存在多个job,每触发一次action操作就会产生一个job。 
这些job能够并行或串行实施,每个job中有多个stage,每个stage里面有多个task,组成taskset由TaskSchaduler分发到各个executor中实施,executor生命周期是和app一样,即使没有job运行也是存在,所以task能够快速开启读取内存进行计算。 
hadoopjob只有map和reduce操作,表示能力比较欠缺而且在mr过程中会反复读写hdfs,造成大量io操作,多个job需要自己管理关系。 
spark迭代计算全部是在内存中进行,API中提供了大量RDD操作如join,groupby等,而且经过DAG图能够实现良好容错。
简单说一下hadoop和sparkshuffle过程? 
hadoop:map端保留分片数据,经过网络搜集到reduce端。 
spark:sparkshuffle是在DAGSchedular划分Stage时候产生,TaskSchedule要分发Stage到各个workerexecutor。 
降低shuffle能够提升性能。
17、RDD机制? 
rdd分布式弹性数据集,简单了解成一个数据结构,是spark框架上通用货币。 
全部算子全部是基于rdd来实施,不一样场景会有不一样rdd实现类,不过全部能够进行相互转换。 
rdd实施过程中会形成dag图,然后形成lineage确保容错性等。 
从物理角度来看rdd存放是block和node之间映射。
18、spark有哪些组件? 
(1)master:管理集群和节点,不参与计算。 
(2)worker:计算节点,进程本身不参与计算,和master汇报。 
(3)Driver:运行程序main方法,创建spark context对象。 
(4)spark context:控制整个application生命周期,包含dagsheduler和task scheduler等组件。 
(5)client:用户提交程序入口。
19、spark工作机制? 
用户在client端提交作业后,会由Driver运行main方法并创建spark context上下文。 
实施rdd算子,形成dag图输入dagscheduler,根据rdd之间依靠关系划分stage输入task scheduler。 
task scheduler会将stage划分为task set分发到各个节点executor中实施。
20、spark优化怎么做? 
经过spark-env文件、程序中sparkconf和set property设置。 
(1)计算量大,形成lineage过大应该给已经缓存了rdd添加checkpoint,以降低容错带来开销。 
(2)小分区合并,过小分区造成过