Spark内核

news2024/11/16 13:48:42

环境准备及提交流程

底层通信协议

  1. Akka通信协议,收发邮箱是一体的
  2. Netty通信协议,收发邮箱是分开的

任务调度

任务的最小单位是线程。失败重试,会记录失败的次数,如果超过最大重试次数,宣告Application失败。失败的同时会记录它上一次所在的ExecutorID和Host, 最多重试4次。

Shuffle

功能:打散重分区

特点:无论MR和Spark,Shuffle都需要落盘。其中的区别是MR每次都落盘,Spark是尽可能少落盘。

落盘的话就需要考虑不同分区之间的数据如何存放的问题。假设每个Executor有两个Task,总共有三个分区。以下是四种shuffle落盘的策略:

  1. 每个Task里面的数据打散成3个文件,一个Executor生成6个文件
  2. Executor里面的两个Task的数据打散到3个文件中,一个分区一个文件,共3个文件。
  3. sortShuffle: Executor里面打散的数据落盘到一个文件中,三个分区的数据通过索引来区分。这个就是SortShuffle,目前MR就是sortShuffle。
  4. bypassShuffle:对不同分区的数据进行打散重分区时不对数据进行排序,只适合非聚合类的shuffle算子,比如reduceByKey。

Spark内存管理

堆内和堆外内存

  1. 堆内:通过JVM申请的内存,通过了JVM的转化,更加安全,并且有垃圾回收机制。
  2. 堆外:也称页缓存,自己向操作系统申请。没有经过JVM转换,不安全,没有垃圾回收机制。堆外的内存空间是通过C语言控制的,有出现内存泄漏的危险。
    • 优点:
      • 减少了垃圾回收的工作
      • 加快了复制的速度,省略了序列化的操作。
    • 缺点:
      • 堆外内存难以控制,如果内存泄漏,很难排查
      • 不适合存储复杂对象。
  3. spark中,堆外内存默认是关闭的。
  4. 配置方法
    • executor-memory 和 driver-memory
    • 启用堆外内存spark.memory.offHeap.eabled,并由spark.memory.offHeap.size设置堆外空间大小。

内存的分配

  1. 静态内存管理,简称写死
    • 分为三个部分:
      • 存储空间60%
      • 执行空间20%
      • 其他空间20%
  2. 统一内存管理,简称动态分配
    • 分为三个部分
      • 其他空间40%
      • 存储空间+计算空间=60%
    • 存储和计算空间反向使用,允许空间借用。
      在这里插入图片描述

RDD的持久化机制

存储内存淘汰规则:

  • 旧RDD所属RDD不能处于被读状态,避免引发一致性问题
  • 新旧Block不能属于同一个RDD,避免循环淘汰
  • 按照最近最少LRU进行淘汰

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

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

相关文章

knife4j-openapi3 无法使用swagger注解@ApiModelProperty

问题描述 当使用knife4j springboot3, 发现无法使用 swagger注解ApiModelProperty需要单独导入一个包但是即使导入这个包也不生效,即使配置了description也为空 原因 简单来说:swagger2 > swagger3的时候出现了破坏性的更新 将ApiMode…

Docker(五)、容器间数据共享~volume

容器间数据共享~volume 一、简单了解二、有两种通过命令设置数据卷的方法一)、方式1. 通过 -v 挂载宿主机目录1、格式2、浅实践下 二)、方式2.实现形式:通过共享容器内挂载点--volumes-from,其他容器指定此挂载点1、格…

基于nodejs+vue中学信息技术线上学习系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

Java操作Elasticsearch(新增数据)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

vscode使用CSScomb插件

1. 安装 在设置中搜索csscomb,把Csscomb: Format On Save勾上 然后去edit in settings.json配置 2.使用 2.1 用官网提供的三种方法 https://github.com/csscomb/csscomb.js/tree/master/config 2.2 自定义 CSS 书写顺序规则可以参考这个荐腾讯 AollyTeam 团队的…

CI2454 2.4g无线MCU芯片应用

Ci2454集成MCU芯片 | Ci2454是一款集成无线收发器和 8 位 RISC(精简指令集)MCU 的SOC芯片。 #Ci2454芯片 集成MCU芯片# 中国芯片# 无线收发器特性: 工作在 2.4GHz ISM 频段 调制方式:GFSK/FSK 数据速率:2Mbps/1Mbps…

交换机控制在同一个网段内的终端,用hybrid接口实现不同的IP通和不通。

实验效果:pc1和pc2不能通,但pc1和pc2分别可以和pc3通。 通过这个实验可以彻底掌握数据包在交换机上的进去的类型状态。 sw1配置: [sw1]dis current-configuration sysname sw1 vlan batch 10 20 100 interface GigabitEthernet0/0/1 port h…

南丁格尔玫瑰图

目录 由来 效果图 echarts官网找相似图 将南丁格尔玫瑰图引进html页面中 引入echarts 准备容器 初始化echarts实例对象 指定配置项和数据(官网给的option) 将配置项给echarts 自定义南格丁尔玫瑰图 修改颜色 修改玫瑰图大小 修改图的模式为半…

springBoot--web--路径匹配

路径匹配 前言在配置文件中配置路径匹配结果 前言 spring5.3之后加入了更多的请求路径匹配的实现策略 以前只支持antPathMatcher策略,现在提供了PathPatternParse策略,并且可以让我们指定到底使用哪种策略 PathPatternParser: 在jmh基准测试下&#xff…

SAP-MM-收货操作报错123

以下的报错都是收货时产生的: 1、消息号M7097:该物料不可能有库存记账 这个消息可以初步判断是因为物料类型的双更新没有勾选 用TCODE:OMS2,找到对应的物料类型,维护双更新。 2、消息号:M8147 不能为条目7333 GBB确立…

使用C#和Flurl.Http库的下载器程序

根据您的要求,我为您编写了一个使用C#和Flurl.Http库的下载器程序,用于下载凤凰网的图片。以下是一个简单的示例代码: using System; using Flurl.Http;namespace DownloadImage {class Program{static void Main(string[] args){string url…

STM32下载程序,可以使用串口了,但是要对的boot进行设置,以及boot的使用,直接烧录,可以运行,但是下次复位,得先换BOOT0为0

STM32下载程序串口下载stm32程序 注意:直接烧录,可以运行,但是下次复位,得先换BOOT0为0 有的朋友可能遇到过这种情况:程序第一次下载的时候可以运行,但是掉电重启之后,程序就不能运行了。这种情…

利用Python爬虫获取某乎热榜

如今,某乎必须要登录才能查看相关话题内容,给我们的日常造成了极大的不便,今天我就教大家如何利用简单的代码,绕开登录限制。 准备工作 配置好python运行环境,推荐 pycharm。复制下面的源代码,运行&#x…

OnlyOffice documentType类型值

参考官网说明: https://api.onlyoffice.com/editors/config/#documentType 其值为:word | cell | slide

Java数字处理类--Math类--随机数

1. 生成随机数方法: 1.1 Math.random()方法 1.2 Random类 2. Math.random()方法 2.1 Math.random():产生0~1之间的double型随机数 package MathInfo;public class MathRandom {//定义产生偶数的公式:int num (int) num1 (int) (Math.random() * (num…

信息系统基础选择题真题

信息系统基础选择题真题 真题中超纲的较多 纯理论记忆 企业信息化 企业资源计划ERP 客户关系管理CRM 供应链管理SCM 决策支持系统DSS 论文: 企业集成 企业应用集成(常考)应用集成数据交换企业集成平台(常考)企业信息集…

分析RPA流程自动化的挑战和解决方案

随着数字化工具和自动化解决方案的日益成熟,各行各业发掘到RPA机器人流程自动化技术的先进性,逐渐规模化部署RPA。 为了更好地推进RPA的实施,金智维在这里分享一些运用这项技术时面临的共同挑战,并给出针对性的解决方案。 组织架构…

【Kubernetes】Operator开发之kubebuilder实战(一)

1 什么是Operator k8s原生提供了很多资源类型,像用于无状态应用的Deployment、ReplicaSet和有状态应用的StatefulSet,用户可以通过向k8s提交yaml文件的方式进行资源的管理,但是,有时候,原生的这些资源无法满足我们的需…

【Python】图像和办公文档的处理

图像和办公文档处理 用程序来处理图像和办公文档经常出现在实际开发中,Python的标准库中虽然没有直接支持这些操作的模块,但我们可以通过Python生态圈中的第三方模块来完成这些操作。 操作图像 计算机图像相关知识 颜色。如果你有使用颜料画画的经历&…

Day5力扣打卡

打卡记录 对角线上不同值的数量差(矩阵对角线遍历 前缀和) 链接 思路:由于任意行 i 与 列 j,满足对角线上 i j t 的关系,t 的范围为 [1 - n, m - 1],设 s t n,可以得到 s的范围为 [1, n …