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的就是执行算子。

相关推荐

  1. Spark-core面试知识

    2024-04-25 19:46:02       33 阅读
  2. spark知识总结(1)

    2024-04-25 19:46:02       36 阅读
  3. spark的相关知识

    2024-04-25 19:46:02       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 19:46:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 19:46:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 19:46:02       82 阅读
  4. Python语言-面向对象

    2024-04-25 19:46:02       91 阅读

热门阅读

  1. VisualGLM部署&微调&docker环境

    2024-04-25 19:46:02       32 阅读
  2. python绘制平行四边形

    2024-04-25 19:46:02       32 阅读
  3. 在vue项目中使用TS

    2024-04-25 19:46:02       30 阅读
  4. el-table 表格自带全选按钮隐藏

    2024-04-25 19:46:02       25 阅读
  5. flask + celery + redis + flower

    2024-04-25 19:46:02       33 阅读
  6. C 语言实例 - 字符转 ASCII 码

    2024-04-25 19:46:02       32 阅读
  7. HashMap 和 HashTable的异同

    2024-04-25 19:46:02       32 阅读
  8. Linux c++ 中文字符转十六进制 UTF-8 编码

    2024-04-25 19:46:02       23 阅读
  9. 【React】生命周期

    2024-04-25 19:46:02       30 阅读
  10. 【vue】axios封装拦截

    2024-04-25 19:46:02       27 阅读