Spark_RDD的容错机制_数据丢失恢复
我们都知道Spark是弹性分布式数据集,数据会存储在多台机器上,那么如何确保在分布式数据计算中,数据不丢失就是其中的关键的部分。本文主要讲解一下Spark中的容错机制。
Spark 主要提供了3个层面的数据容错机制。分别是 调度层,RDD血统层, Checkpoint 层。在这3大层面中包括Spark RDD容错的4大核心要点.
- (调度层)Stage输出失败,上层调度器DAGScheduler重试。
- (调度层)Spark计算中,Task内部任务失败,底层调度器重试。
- (血统层)RDD Lineage血统中窄依赖,宽依赖计算。
- (Checkpoint层)Checkpoint 缓存。
调度层
DAG生成层
Stage 输出失败,上层调度器DAGScheduler 会进行重试
详细源码详见 Spark大数据商业实战三部曲p58
Task计算层
Spark计算过程中,计算内部某个Task任务出现失败,底层调度器会对此Task进行若干次重试(默认4次)
详细源码详见 Spark大数据商业实战三部曲p58
血统层
SparkRDD 实现基于Lineage的容错机制,基于RDD的各项transformation 构成compute chain, 在部分计算结果丢失的时候可以根据Lineage重新恢复计算。
窄依赖
在子RDD的分区丢失,需要重算父RDD分区时。父RDD相应分区的所有数据都是子RDD分区的数据,并不存在冗余计算。
宽依赖
丢失一个RDD分区,重算的每个父RDD的每个分区的所有数据并不是都丢给丢失的RDD的子RDD分区用的,会有一部分数据相当于对应的是未丢失的子RDD分区中需要的数据,这样就会产生冗余计算开销和巨大的性能浪费。
Checkpoint层
Spark checkpoint 通过将RDD写入Disk作为检查点,是Spark lineage容错的辅助,lineage过长会造成容错成本过高,这时在中间阶段做检查点容错,如果之后有节点出现问题而丢失分区,从做检查点的RDD开始重做Lineage, 就会减少开销。
checkpoint 主要适用于以下两种情况 :
- DAG中的Lineage过长,如果重算,开销太大,如PageRank, ALS等
- 尤其适合于在宽依赖上作checkpoint,这个时候就可以避免为Lineage重新计算而带来的冗余计算。
相关文章:
Spark_RDD的容错机制_数据丢失恢复
我们都知道Spark是弹性分布式数据集,数据会存储在多台机器上,那么如何确保在分布式数据计算中,数据不丢失就是其中的关键的部分。本文主要讲解一下Spark中的容错机制。 Spark 主要提供了3个层面的数据容错机制。分别是 调度层,RDD…...
VB+SQL期刊信息管理系统设计与实现
摘 要 本次毕业设计课题为“期刊信息管理系统”,该系统在正常运营中总是面对大量的读者信息、期刊信息以及两者相互作用产生的借刊信息,还刊信息。因此需要对读者资源、期刊资源、借刊信息、还刊信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。 此次毕…...
如何在iPhone手机上修改手机定位和模拟导航?
如何在iPhone手机上修改手机定位和模拟导航? English 首先,你需要在Mac电脑上下载安装 Location Simulator/定位模拟工具 和 Runner 这两款应用程序。 完成安装后,打开软件,并用USB连接手机设备 修改iPhone手机定位和模拟导航 …...
Linux 当fork在for循环中的问题
以下代码会打印几个"A"? 例1.代码如下: int main(int argc, char* argv[],char* envp[]) { for(int i 0;i < 2; i ) { fork(); printf("A\n"); } exit(0); } 代码分析: //父进程for(int i …...
推断统计中非参数检验之卡方检验、列联表分析和游程检验
一、(卡方检验):赛马比赛的赛道会影响成绩吗 这里以一个实例赛马比赛的赛道是否会影响成绩为例,实际就是检验获胜频数与期望频数之间有无显著性差异。 import pandas as pdstep1 调用包 from scipy.stats import chisquare impor…...
AI社交来了,百度、Soul“双向奔赴”
随着科技的飞速进步和迅猛发展,AI技术已经开始渗透到教育、工作、社交、娱乐和健康多个领域,并为人们生活中的多个场景带来了诸多的创新和可能性。甚至可以说,AI技术已经深刻地介入到了我们日常生活的方方面面,让我们的生活方式发…...
【【verilog 典型电路设计之加法器树乘法器】】
verilog 典型电路设计之加法器树乘法器 加法器树乘法器 加法器树乘法器的设计思想是“移位后加”,并且加法运算采用加法器树的形式。乘法运算的过程是,被乘数与乘数的每一位相乘并且乘以相应的权值,最后将所得的结果相加,便得到了…...
选择最适合自己的NIO, 一探流技术
目录 一、Channel1、FileChannel代码示例2、DatagramChannel代码示例3、SocketChannel 和 ServerSocketChannel代码示例 二、Buffer1、ByteBuffer示例代码2、CharBuffer示例代码3、ShortBuffer、IntBuffer、LongBuffer、FloatBuffer、DoubleBuffer 等示例代码 三、Selector1、S…...
智能家居(3)---socket网络控制线程封装
封装socket网络线程实现对智能家居中各种灯光的控制 main.Pro(主函数) #include <stdio.h> #include "controlDevice.h" #include "inputCommand.h" #include <pthread.h>struct Devices *pdeviceHead NULL; //设备工厂链表…...
ubuntu 安装 emscripten 时 install latest 安装报错问题
学习官网参考:Compiling a New C/C Module to WebAssembly - WebAssembly | MDN (mozilla.org) 报错信息 形如: Error: Downloading URL https://storage.googleapis.com/webassembly/emscripten-releases-builds/linux/b90507fcf011da61bacfca613569…...
concrt140.dll丢失怎么恢复?教你5种修复方法
首先介绍一下concrt140.dll是什么 concrt140.dll是Microsoft Visual C Redistributable for Visual Studio 2015所需的一个动态链接库文件。它是用于支持C程序运行的重要组件之一。当系统中缺少或丢失concrt140.dll文件时,可能会导致一些程序无法正常运行。 首先&a…...
【Vue-Router】路由入门
路由(Routing)是指确定网站或应用程序中特定页面的方式。在Web开发中,路由用于根据URL的不同部分来确定应用程序中应该显示哪个内容。 构建前端项目 npm init vuelatest //或者 npm init vitelatest安装依赖和路由 npm install npm instal…...
蓝牙耳机运动耳机哪个好、好用的运动蓝牙耳机推荐
如今的蓝牙耳机已经成为手机的最佳伴侣,也是运动爱好者的必备装备。然而,在众多蓝牙耳机中做出选择可能会让人感到困惑。其实,在选购运动蓝牙耳机时需要注意的事项还挺多的,比如舒适度、稳定性和音质等多个方面,逐一对照这些要点来…...
大数据面试题:Kafka的ISR机制
面试题来源: 《大数据面试题 V4.0》 大数据面试题V3.0,523道题,679页,46w字 可回答:1)从ISR踢出去之后呢;2)一般Leader怎么判断Follower挂掉? 参考答案: …...
Windows:解决MySQL登录ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor=YES)问题
我在下载的MySQL是8.0.32版本,刚下的时候没什么问题第二天启动MySQL服务就出现了 ERROR 1045 (28000): Access denied for user rootlocalhost (using password: YES) 或 ERROR 1045 (28000): Access denied for user rootlocalhost (using password: NO) 这样的问题…...
springboot整合kafka多数据源
整合kafka多数据源 项目背景依赖配置生产者消费者消息体 项目背景 在很多与第三方公司对接的时候,或者处在不同的网络环境下,比如在互联网和政务外网的分布部署服务的时候,我们需要对接多台kafka来达到我们的业务需求,那么当kafk…...
基于CentOS 7 配置nginx负载均衡
搭建负载均衡服务的需求如下: 1 ) 把单台计算机无法承受的大规模并发访问或数据流量分担到多台节点设备上,分别进行处理, 减少用户等待响应的时间, 提升用户体验。 2 ) 单个重负载的运算分担到多台节点设备上做并行处理ÿ…...
WordToPDF2.java
用Java将Word转PDF 本例子测试了spire.doc.free-3.9.0.jar的包 <dependency><groupId> e-iceblue </groupId><artifactId>spire.doc.free</artifactId><version>3.9.0</version></dependency> package word;import com.spire.…...
k8s服务注册发现
Service 是 将运行在一个或一组pod上的网络应用程序公开为网络服务的方法。 定义service前端为service名称、ip、端口等不变的部分,后端为符合标签选择的pod集合 注册 通过api server提交注册service请求到DNSservice随后得到clusterIP(虚拟ip地址&am…...
IK分词器升级,MySQL热更新助一臂之力
ik分词器采用MySQL热更新 官方所给的IK分词器只支持远程文本文件热更新,不支持采用MySQL热更新,没关系,这难不倒伟大的博主,给哈哈哈。今天就来和大家讲一下如何采用MySQL做热更新IK分词器的词库。 一、建立数据库表 CREATE…...
Phi-4-mini-reasoning开发者实操:tail日志定位推理超时问题全记录
Phi-4-mini-reasoning开发者实操:tail日志定位推理超时问题全记录 1. 问题背景与现象 最近在使用Phi-4-mini-reasoning模型进行数学题推理时,发现部分复杂题目会出现响应超时的情况。具体表现为: 提交题目后,页面长时间显示&qu…...
忍者像素绘卷镜像免配置:内置Prompt语法校验器防无效输入机制
忍者像素绘卷镜像免配置:内置Prompt语法校验器防无效输入机制 1. 产品概述 忍者像素绘卷是一款基于Z-Image-Turbo深度优化的图像生成工作站,专为像素艺术创作而设计。它融合了16-Bit复古游戏美学与现代AI图像生成技术,为用户提供了一个直观…...
OpenClaw版本升级:Qwen3-4B模型与新框架特性的兼容性
OpenClaw版本升级:Qwen3-4B模型与新框架特性的兼容性 1. 为什么需要关注版本升级 上周五晚上11点,我的OpenClaw突然弹出一条警告:"当前版本(v0.8.3)将在48小时后停止维护"。这个深夜警报让我意识到,是时候处理这个技术…...
qt模块学习记录
qt模块学习记录一、Qt Core其他模块都用到的核心非图形类二、Qt GUI 设计 GUI 界面的基础类,包括 OpenGL三、功能模块Qt Network 使网络编程更简单和轻便的类Qt SQL 使用 SQL 用于数据库操作的类Qt Multimedia 音频、视频、摄像头和广播功能的类四、老式界面Qt Widg…...
【绝密架构图首次公开】:某头部券商万兆网卡直通+DPDK+自研内存池三级联动拓扑(支持128GB/s持续吞吐,QPS超2400万)
第一章:金融高频交易 C 内存池优化方法在纳秒级响应要求的金融高频交易系统中,动态内存分配(new/delete)引发的堆碎片、锁竞争与缓存不友好性,常导致不可预测的延迟尖峰。为消除 malloc 的内核态切换开销与全局堆锁争用…...
二极管限幅与钳位电路设计全解析
1. 二极管基础特性回顾 在开始分析各种二极管应用电路之前,我们先快速回顾一下二极管的核心特性。二极管最显著的特点就是其单向导电性 - 当正向偏置电压超过导通阈值(硅管约0.7V)时导通,反向偏置或正向电压不足时截止。这个看似简…...
OpenClaw健康检查:百川2-13B量化模型任务看板搭建
OpenClaw健康检查:百川2-13B量化模型任务看板搭建 1. 为什么需要健康检查系统 上周三凌晨两点,我被手机警报声惊醒——OpenClaw正在执行的自动化日报生成任务连续失败了7次。登录服务器查看日志时,发现根本原因是模型响应超时导致的操作链断…...
贾龙栋与鸽姆智库:贾子哲学思想理论体系的构建、创新与全球影响 —— 基于跨学科视角的深度研究
贾龙栋与鸽姆智库:贾子哲学思想理论体系的构建、创新与全球影响 —— 基于跨学科视角的深度研究引言在人工智能技术迅猛发展与全球治理体系深刻变革的时代背景下,人类文明正面临前所未有的认知挑战与价值重构。一方面,技术能力的指数级增长与…...
计算机毕业设计springboot展会门票系统 基于SpringBoot的会展票务数字化服务平台 SpringBoot框架下的博览会入场券预约与核销系统
计算机毕业设计springboot展会门票系统 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着会展经济的蓬勃发展和数字化转型的深入推进,各类展会活动规模不断扩大&am…...
别再让你的Druid监控裸奔了!手把手教你配置账户密码与访问控制
Druid监控安全加固实战:从零构建企业级防护体系 在Java生态中,Druid作为阿里巴巴开源的数据库连接池,凭借其强大的监控功能成为众多企业的标配组件。但令人担忧的是,超过60%的生产环境存在Druid监控页面暴露的安全隐患——这相当于…...
