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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/3363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java——接口

目录 一.接口的概念 二.语法规则 三.接口使用 四.接口特性 1.接口类型是一种引用类型,但是不能直接new接口的对象 2.接口中每一个方法都是public的抽象方法, 即接口中的方法会被隐式的指定为 public abstract(只能是 public abstract&#xff0c…

君正X2100 RTOS 固件升级

使用cloner工具烧写固件需要在上电之前让boot_sel[2:0]处于boot from USB模式,但是电路板装在机壳内部后不方便改变boot_sel[2:0]的状态,如果要升级固件,需要通过机壳留出的USB口、网口、或者无线网络进行固件更新。 一、升级方案 1、固件分…

最小路径和

1 题目描述 给出一个包含非负整数的mn矩阵,从左上角出发至右下角,每次只能向右或者向下移动一步,找出数字之和最小的路径。 输入:matrix [[1,2,7],[2,5,3],[1,1,1]],如图2-3所示。 1 2 7 2 5 3 1 1 1 输出&…

Hadoop——Yarn基础架构

Hadoop——Yarn基础架构 Hadoop YARN(Yet Another Resource Negotiator)是Apache Hadoop生态系统中的一个子项目,它是用于集群资源管理的框架,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台&…

Postman 工具发送请求的技巧与实践

在开发和测试 API 时,发送 JSON 格式的请求是一个常见需求。 在 Postman 中构建和发送 JSON 请求 创建一个新的请求 首先,在 Postman 启动界面上找到并点击 “New” 按钮,选择 “HTTP Request” 来开始新建一个请求。这一步骤允许你定义请…

指针学习总结

当指针本身定义的类型不同十,指向的一次性取值长度也不同 数组元素的指针 数组存放字符串 数组存放字符串时存放在栈区,sizeof(str1) 128字节 字符指针指向字符串 str2此时存放的是h的地址,因此sizeof(str2) 4字节或者8字节 并且文字常量…

递归算法/斐波那契数列

目录 递归 直接递归 间接递归 思想沿用 斐波那契数列 图片来源网络,侵权联系可删 递归 递归(Recursion)是一种编程技术,其中函数或方法直接或间接地调用自身。递归通常用于解决可以分解为更小、更简单的子问题的问题。递归的…

一文速览Llama 3及其微调:如何通过paper-review数据集微调Llama3 8B

前言 4.19日凌晨正准备睡觉时,突然审稿项目组的文弱同学说:Meta发布Llama 3系列大语言模型了 一查,还真是 本文以大模型开发者的视角,基于Meta官方博客的介绍:Introducing Meta Llama 3: The most capable openly a…

linux 系统文件目录颜色及特殊权限对应的颜色

什么决定文件目录的颜色和背景? 颜色 说明 栗子 权限白色表示普通文件 蓝色表示目录 绿色表示可执行文件 浅蓝色链接文件 黄色表示设备文件 红色 表示压缩文件 红色闪烁表示链接的文件有问题 灰色 表示其它文件 可以用字符表示文件的类型&am…

MATLAB初学者入门(9)—— 线性回归

线性回归是一种统计方法,用于建立一个或多个自变量(解释变量)和因变量之间的关系模型。在MATLAB中,可以使用多种方法来实现线性回归,包括使用内置函数如fitlm、regress或直接使用矩阵运算来求解。以下是一些详细的案例…

Netty快速入门

网络通信模型 在了解Netty之前,我们可以简单的先了解一下我们的网络通信方式,正所谓知其然,知其所以然。只有了解了网络通信模型,我们才能更好的去理解Netty的一些核心的原理。 如下图是一个简单的请求发送的时候的一个大概的HTT…

【Linux】GDB调试器学起来!指令全解,建议收藏

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

面试十五 容器

一、vector容器 template<typename T> class Allocator{ public:T* allocator(size_t size){// 负责内存开辟return (T*)malloc(sizeof(T) * size);}void deallocate(void * p){free(p);}void construct(T*p,const T&val){// 定位newnew (p) T(val);}void destroy(…

访问控制列表配置实验

ACL&#xff0c;全称 Access Control List&#xff08;访问控制列表&#xff09;&#xff0c;是一种实现访问控制的机制&#xff0c;用于规定哪些主体&#xff08;如用户、设备、IP地址、进程等&#xff09;可以对哪些资源&#xff08;如网络服务、文件、系统对象等&#xff09…

2024深圳杯C题的8页思路分析+所有代码可执行+参考文献+持续更新参考论文(已经更新了代码与图像)

比赛题目的完整版思路可执行代码数据参考论文都会在第一时间更新上传的&#xff0c;大家可以参考我往期的资料&#xff0c;所有的资料数据以及到最后更新的参考论文都是一次付费后续免费的。注意&#xff1a;&#xff08;建议先下单占坑&#xff0c;因为随着后续我们更新资料数…

C#面:简述 数组、链表、哈希、队列、栈数据结构特点,各自优点和缺点

C# 数组、链表、哈希、队列和栈是常见的数据结构&#xff0c;它们各自有不同的特点、优点和缺点。 数组&#xff1a; 特点&#xff1a;数组是一种线性数据结构&#xff0c;它由一组相同类型的元素组成&#xff0c;这些元素在内存中是连续存储的。优点&#xff1a;数组具有快速…

代码随想录-算法训练营day23【二叉树09:修剪二叉搜索树、将有序数组转换为二叉搜索树、把二叉搜索树转换为累加树】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第六章 二叉树part09今日内容&#xff1a;● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇 详细布置 669. 修剪二叉搜索树 这道题目比较难&#xff0c;比 添…

docker入门学习

一、docker概念 Docker 引擎是使用的是Linux内核特性的容器引擎。 二、docker的安装 1.docker&#xff0c;下载地址&#xff1a; 桌面版&#xff1a;Docker Desktop: The #1 Containerization Tool for Developers | Docker 服务器版&#xff1a;Install Docker Engine | D…

C++ 一种交换两个数的思路

在 Lua 或者 Python 中可以使用多值赋值语句来交换两个数。例如&#xff1a;a, b b, a。在 C 中有没有类似的操作&#xff1f; 先解析一下多值赋值的原理&#xff0c;a, b b, a 等价于 t1, t2 b, a a, b t1, t2可以看到多值赋值还是用到了中间变量&#xff0c;而且还是两…

# 从浅入深 学习 SpringCloud 微服务架构(六)Feign(3)

从浅入深 学习 SpringCloud 微服务架构&#xff08;六&#xff09;Feign&#xff08;3&#xff09; 一、组件的使用方式总结 1、注册中心 1&#xff09; Eureka 搭建注册中心 引入依赖 spring-cloud-starter-netflix-eureka-server。 配置 EurekaServer。 通过 EnableEure…