spark算子_Spark篇之持久化算子

一、前述

Spark中控制算子也是懒执行的,需要Action算子触发才能执行,主要是为了对数据进行缓存。

控制算子有三种,cache,persist,checkpoint,以上算子都可以将RDD持久化,持久化的单位是partitioncache和persist都是懒执行的。必须有一个action类算子触发执行。checkpoint算子不仅能将RDD持久化到磁盘,还能切断RDD之间的依赖关系。

二、具体算子

1、 cache

默认将RDD的数据持久化到内存中cache是懒执行

chche () = persist()=persist(StorageLevel.Memory_Only)

2、persist(可以指定持久化的级别)

1eb40875efba7238c2464926d927a79b.png

解释:

1、MEMORY_AND_DISK 意思是先往内存中放数据,内存不够再放磁盘

2、最常用的是MEMORY_ONLY和MEMORY_AND_DISK。”_2”表示有副本数。

3、选择的原则是:首先考虑内存,然后考虑序列化之后再放入内存,最后考虑内存加磁盘。

4、尽量避免使用“_2”和DISK_ONLY级别。

5、deserialized是不序列化的意思。

注意事项:

1、cache和persist都是懒执行,必须有一个action类算子触发执行。

2、cache和persist算子的返回值可以赋值给一个变量,在其他job中直接使用这个变量就是使用持久化的数据了。持久化的单位是partition。

3、cache和persist算子后不能立即紧跟action算子。

错误:

rdd.cache().count() 返回的不是持久化的RDD,而是一个数值了

3、 Checkpoint(对Lineage非常长时使用)

1、概念和特征:

不仅可以将数据持久化到磁盘,还可以切断RDD之间的依赖关系,checkpoint也是懒执行。

Checkpoin不仅存储结果,还会存储逻辑,还可以存储元数据。

Persisit切断不了RDD的依赖关系。

2、checkpoint 的执行原理:

(1).Spark job执行完之后,spark会从finalRDD从后往前回溯。

(2)当回溯到对某个RDD进行了checkpoint,会对这个RDD标记。

(3)回溯完成之后,Spark会重新计算标记RDD的结果,然后将结果保存到Checkpint目录中。

3、优化checekpoint

  • 因为最后是要触发当前application的action算子,所以在触发之前加一层cache操作,一样会往前执行cache操作,实现对数据的cache ,所以考虑将cache优化到checkpoin的优化流程里。
  • 对RDD执行checkpoint之前,最好对这个RDD先执行cache,这样新启动的job(回溯完成之后重新开的job)只需要将内存中的数据(cache缓存好的checkpoint那个点的数据)拷贝到HDFS上就可以。
  • 省去了重新计算这一步,不需要重头开始来走到checkpoint这个点了。

总结:

持久化的最小单位是partition!!!

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

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

相关文章

java g1 gc ref proc_深入理解垃圾收集器的G1及日志分析

尽管Hotspot 最新的垃圾回收器G1是在2006年推出的。但是G1从推行至今的市场反响来看,但现在足以证明这款垃圾收集器是经得起考验的,从java9开始,就默认为G1垃圾收集器。G1是一款面向服务端应用的垃圾收集器。HotSpot开发团队赋予它的使命是(在…

gif透明背景动画_【超实用干货! 】iPad上的动画App大推荐

作者/立夏编辑/彼方大家好,我是立夏。大概在两年前吧我为大家写过几款动画APP的评测,这一次我也想给大家推荐一些我的新宠,供大家参考。我在这里就不过多提及如Animation Desk、Procreate或是Callipeg之类知名度相对更高一些的动画App了&…

iphone如何信任软件_【手机软件】千禾影院:全新观影神器,支持安卓+iOS,最新、最全、高清、免费!...

Hello,大家好,我是春哥!每天记得打卡哦!感谢每一位小伙伴们的关注和支持!免责声明大部分资源来源于网络,仅供学习和交流使用,如有侵权请联系我们删除。每期文章末尾都会有关键词,在公众号发消息…

Java小魔女芭芭拉_沉迷蘑菇不可自拔,黏土人《小魔女学园》苏西·曼芭芭拉 图赏...

GOOD SMILE出品的黏土人系列手办新作——《小魔女学园》苏西曼芭芭拉,已经开始接受预定了。这款黏土人的原型师是来自中国上海的陈天,售价4167日元,预计2018年4月发售。苏西是主人公亚可的室友,她是从东南亚来的身份不明的魔女。热…

java int相除向上取整_java实战项目常用类,Date、Calendar、BigDecimal、Math、UUID

Java开发中经常用到的类和方法,以下主要就日期是时间处理、金融数字处理、数学计算、随机数、MD5加密等。java.util.Date类java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。日期时间的本质是一个long,它…

R语言中dim函数_R语言--向量化计算(apply族函数)

R语言最优秀的是它的向量化编程,这其中apply族函数扮演了非常重要的角色。apply族函数是由apply、sapply、lapply、mapply、tapply等函数组成的。熟练使用apply族函数,能够简化程序,提高代码的运算速度。软件&环境win10 64bitR 3.6.1appl…

谷歌浏览器中文版_中国科学家设计超薄指尖传感器,厚度不到A4纸五分之一 / 谷歌发布地图时光机:百年前,你家街道啥样?/ AI看图说话首超人类...

关注我们了解计算机视觉最新动态 !动态先览1中国科学家设计超薄指尖传感器,厚度不到A4纸五分之一2谷歌发布地图「时光机」:100年前,你家街道长啥样?3仿真环境跟车2分钟,就让自动驾驶系统撞上马路牙子&#…

300小时成为java程序员_直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!...

原标题:直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!今天给大家分享一位Java程序员小伙去阿里应聘的经历!从Java开发要掌握的技术来讲,前面已经说得差不多了。我主要想从面试者的角度谈一谈看法。如果是我面试,就给…

anaconda python3.8目录_MacBook Pro 安装anaconda、配置环境

新入手了MacBook Pro,iOS系统还不算非常熟练...作为一个新手程序员,在python开发道路上的学习就从安装环境开始吧:1、下载安装包2、安装过程一路同意or继续...不过,mac上弹出不允许在当前路径安装,那么选择自定义安装路…

stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点

一款好的电子产品,都需要认真考虑电源管理的问题,电池供电的产品更应该注意低功耗的实现。 STM32电源介绍嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室​www.makeru.com.cn每一块STM32芯片中都有一个电源控制器(PWR&#xff0…

delphi 调用浏览器内核_HFL:基于混合模糊测试的Linux内核漏洞挖掘

RemarksConference: NDSS 2020Full Paper: HFL: Hybrid Fuzzing on the Linux KernelSummary针对的问题: Linux 操作系统内核安全漏洞的发现需要新技术。现有解决方案的不足:当前的模糊测试技术难以直接应用于内核安全漏洞发现。提出的创新方案概述&…

隔行变色java代码_jquery入门—选择器实现隔行变色实例代码

1、JQuery选择器继承了CSS、path语音的部分语法,允许通过标签名、属性名、内容对DOM元素进行快速、准确的选择。2、JQuery选择器与JavaScript相比,具有代码简单、完善的检测机制的优势。3、使用JQuery选择器实现隔行变色,示例代码如下&#x…

角标越界 Java_【新人求助】利用占位符操作数据库是总是提示数组角标越界是怎么回事 - Java论坛 - 51CTO技术论坛_中国领先的IT技术社区...

用占位符和数组来操作数据库总是提示下角标越界,找了半天也没弄明白哪里有问题,这个地方是跟着云课堂老师的讲解做的,只不过操作的数据表不一样,但是老师那个就没问题,我就出了问题,如果有大神能帮忙看看&a…

简述ospf的工作原理_现代数字存储示波器的工作原理简述

示波器是一种用途十分广泛的电子测量仪器。俗话说,电是看不见摸不着的。但是示波器可以帮我们“看见”电信号,便于人们研究各种电现象的变化过程。所以示波器的核心功能,就和他的名字一样,是显示电信号波形的仪器,以供…

pyecharts 间距_高月双色球20108期:红球首尾间距参考29区段

双色球第2020108期奖号为:03 09 11 24 25 28 16,红球和值:100,重号2个:11 28,首尾间距:25。和值:上期和值为100,上升了22点,再次开出小和值,最近…

java类中声明log对象_用于Android环境,java环境的log打印,可打印任何类型数据

LogXixi用于Android环境,java环境的log打印,可打印任何类型数据,根据android项目环境debug环境自动打开,release环境自动关闭android环境log打印,规范bean对象,json,xml对应log,crash捕捉&#…

xbox手柄接收器驱动_xbox手柄连接 win10电脑

xbox手柄 连接win10笔记本 分为三种连接方式:有线蓝牙无线适配器首先说明一下连接方式的特点然后说明连接方式第一种:有线连接 手柄直接通过micro USB数据线和win10电脑连接。这一步最简单,一般电脑会自动安装驱动,连接之后可以使…

单片机复位后为什么要对sp重新赋值_51单片机系列之2点亮第一个led小灯

点亮led灯简单的理解就是要求阳极高电平阴极低电平。接下来我们去看看单片机的原理图,找到led 模块。如图可以看到led的阳极是连接的VCC(电源高电平)阴极连接的接口是单片机的I/O口P20到P27.要想led点亮只需控制单片机I/O口输出低电平即可(单片机I/O口默认高电平)。…

关机时无人照管更新正在运行_无法抗拒的未来:无人叉车在内部物流中已成为现实...

自动化和半自动化的叉车不再是新奇的东西,在人力短缺的仓库中取得了进展。他们最终会成为规范吗?目前尚不知道全世界有多少辆无人驾驶叉车(也称为自动叉车、机器人叉车或者AGV)售出。但是叉车生产商都显示出,它在该领域的迅速增长。重要的是&#xff0c…

打开浏览器不是主页_对于360浏览器的一些小小改善

​虽然自己不怎么喜欢,但是以前小编的多数同事都在使用它,所以今天带来360安全浏览器改造的小建议。整理&排版 | idea君 ,预计阅读 | 4分钟文章意在学习交流分享,如有侵权请联系删除封面:http://www.pexels.com/zh…