解析:
rdd分布式弹性数据集,简单的理解成⼀种数据结构,是spark框架上的通⽤货币。
所有算⼦都是基于rdd来执⾏的,不同的场景会有不同的rdd实现类,但是都可以进⾏互相转换。
rdd执⾏过程中会形成dag图,然后形成lineage保证容错性等。
从物理的⻆度来看rdd存储的是block和node之间的映射。
解析:
(1)master:管理集群和节点,不参与计算。
(2)worker:计算节点,进程本⾝不参与计算,和master汇报。
(3)Driver:运⾏程序的main⽅法,创建spark context对象。
(4)spark context:控制整个application的⽣命周期,包括dagsheduler和task scheduler等组件。
(5)client:⽤⼾提交程序的⼊⼝。
解析:
⽤⼾在client端提交作业后,会由Driver运⾏main⽅法并创建spark context上下⽂。
执⾏add算⼦,形成dag图输⼊dagscheduler,按照add之间的依赖关系划分stage输⼊task scheduler。
task scheduler会将stage划分为task set分发到各个节点的executor中执⾏。
解析:
通过spark-env⽂件、程序中sparkconf和set property设置。
(1)计算量⼤,形成的lineage过⼤应该给已经缓存了的rdd添加checkpoint,以减少容错带来的开销。
(2)⼩分区合并,过⼩的分区造成过多的切换任务开销,使⽤repartition。
解析:
producer向broker发送事件,consumer从broker消费事件。
事件由topic区分开,每个consumer都会属于⼀个group。
相同group中的consumer不能重复消费事件,⽽同⼀事件将会发送给每个不同group的consumer。
www.aboutyun.com/thread-24246-1-1.html 39/57
2019/4/24 spark相关的⾯试题跟答案,带着问题学习效果更佳哟。?)-⾯试区-about云开发