• Spark-core面试知识点


    Spark课程(web:默认值是8080,但是这个端口号容易被占用,顺势+1;提交任务端口号:7077)

    一、RDD

    RDD是spark最底层的核心抽象,叫做弹性分布式数据集

    特点:不可变,可分区,里面的元素可以并行计算的集合。

    二、lineage(血统)

    RDD与RDD之间的依赖关系,依赖的就是血统。

    三、DAG有向无环图

    本质上描述的就是RDD的执行流程。

    一个appliction=一到多张DAG有向无环图

    从创建第一个RDD开始,到遇到第一个action算子结束,形成一张DAG有向无环图。

    一个application当中具体有几张DAG有向无环图, 取决于有几个action执行算子。

    四、依赖关系

    在spark当中,依赖关系分为两类:一类是窄依赖(NarrowDependency);一类叫做宽依赖(ShuffleDependency)。

    窄依赖:父RDD当中的一个分区只能被子RDD当中的一个分区所依赖。类似于独生子女。

    宽依赖:父RDD当中的一个分区会被子RDD当中的多个分区所依赖。类似于超生子女。

    五、代码当中的本地模式

    local:表示本地开启一个线程模拟集群运行。

    local[N]:N代表的是一个具体的数,表示本地开始N个线程模拟集群运行。

    local[*]:表示本地有多大资源就用多大资源去模拟运行。

    六、函数式编程算子

    map:映射。针对列表当中的每一个元素进行操作,操作完成后返回一个新的列表,操作之前是多少个元素,操作之后还是多少个元素,不会增加,不会减少。

    七、分区方式

    spark当中一共有两种分区方式:一种是hash,一种是range。

    非key,value对的数据分区方式为None;key,value对的数据分区方式默认也为None,但是可以指定分区方式。

    八、yarn模式

    spark搭建yarn模式一共有两种:一种是yarn on client模式;一种是yarn on cluster模式

    yarn on client:driver运行在当前节点。一般学习测试使用,容易造成网络流量激增的问题。

    yarn on cluster:driver运行在集群当中某一台节点上,一般生产环境使用,不会造成网络流量激增的问题。

    九、stage划分

    根据RDD的执行流程构建DAG有向无环图,构建好后,采用回溯方法,从后往前推,遇到窄依赖包含到当前stage中,遇到宽依赖断开形成stage。

    十、名词解释

    一个DAG有向无环图=一个Job

    一个DAG有向无环图=一到多个stage

    一个stage=一个taskSet

    一个taskSet=多个task

    一个Driver=一个main函数+SparkContext程序入口

    十一、RDD算子分类

    RDD算子大体一共可以分为两类:一类叫Transformation(转换算子);一类叫Action(执行算子)。

    转换算子:惰性计算,只做连接不运算,只有遇到action执行算子才会运算。

    执行算子:带动转换算子运算,并将结果输出或保存到指定地点。

    十二、算子的区分

    转换算子:返回值类型是RDD的就是转换算子。

    执行算子:返回值类型不是RDD的就是执行算子。

  • 相关阅读:
    MLIR笔记(2)
    忆享科技戟星安全实验室|互联网资产搜集平台大全
    【月度反思】202211
    基于微信小程序的汽车租赁系统源码
    nodejs+vue 大学生就业管理系统
    ConcurrentHashMap源码解析 3.put() 方法
    vue3中使用插件vite-plugin-svg-icons
    3分钟看懂设计模式01:策略模式
    新版本发布,新增监控插件与驱动
    如何对待工作中的失误?
  • 原文地址:https://blog.csdn.net/m0_51388399/article/details/138194683