spark常见问题

    科技2022-07-10  154

    目录

    RDD的弹性表现在哪几个方面史上最全的spark面试题spark运行流程

    RDD的弹性表现在哪几个方面

    参考1: RDD的弹性体现在计算方面,当Spark进行计算时,某一阶段出现数据丢失或者故障,可以通过RDD的血缘关系就行修复。 1、内存的弹性:内存与磁盘的自动切换 2、容错的弹性:数据丢失可以自动恢复 3、计算的弹性:计算出错重试机制 4、分片的弹性:根据需要重新分片 参考2: 1.自动进行内存和磁盘切换 2.基于lineage的高效容错 3.task如果失败会特定次数的重试 4.stage如果失败会自动进行特定次数的重试,而且只会只计算失败的分片 5.checkpoint【每次对RDD操作都会产生新的RDD,如果链条比较长,计算比较笨重,就把数据放在硬盘中】和persist 【内存或磁盘中对数据进行复用】(检查点、持久化) 6.数据调度弹性:DAG TASK 和资源管理无关 7.数据分片的高度弹性repartion 参考:RDD的弹性表现在哪几个方面 Spark Master/Driver会保存RDD上的Transformations。这样一来,如果某个RDD丢失(也就是salves宕掉),它可以快速和便捷地转换到集群中存活的主机上。这也就是RDD的弹性所在。

    RDD之间有依赖关系,可溯源。构建成为DAG,这个DAG会构造成很多个阶段,这些阶段叫做stage,RDDstage之间会有依赖关系,后面根据前面的依赖关系来构建,如果前面的数据丢了,它会记住前面的依赖,从前面进行重新恢复。每一个算子都会产生新的RDD。spark中的DAG就是rdd内部的转换关系,这些转换关系会被转换成依赖关系,进而被划分成不同阶段,从而描绘出任务的先后顺序。

    史上最全的spark面试题

    参考: 史上最全的spark面试题

    Spark常见20个面试题(含大部分答案)

    Spark常见面试题,问答类型

    spark运行流程

    参考:Spark 运行流程

    Processed: 0.018, SQL: 8