首页 > 其他分享 >RDD持久化和检查点

RDD持久化和检查点

时间:2022-09-23 15:34:16浏览次数:40  
标签:持久 String mapRDD RDD 检查点 磁盘

val count: RDD[(String, Int)] = mapRDD.reduceByKey(_ + _)
count.collect()

val value: RDD[(String, Iterable[(String, Int)])] = mapRDD.groupBy(_._1)
value.collect()

在上面代码中mapRDD转换两次:reduceByKey 和 groupBy,这种情况下RDD是从头执行两遍;性能不高

解决方法:RDD持久化

  mapRDD.cache() 并不会立即持久化,而是在触发后面的action算子时,才会缓存在计算节点的内存中

  mapRDD.persist(StorageLevel.MEMORY_AND_DISK) 可以设置存储级别 内存 或 磁盘 

  自己使用,用完后丢弃

 

检查点:检查点可以切断血缘关系,检查点其实就是将RDD结果写入磁盘(一般是写入HDFS分布式环境)

              由于血缘依赖过长会造成容错成本过高,这样就不如在中间阶段做检查点容错,如果检查点之后有节点出现问题,可以从检查点开始重做血缘,减少了开销。

    对RDD进行checkpoint操作并不会马上被执行,必须执行Action操作才能触发

    检查点需要指定磁盘目录,为了安全,检查点会执行两遍RDD(优化方法:持久化和检查点结合使用,先持久化,再检查点)

    mapRDD.cache()
    mapRDD.checkpoint()

标签:持久,String,mapRDD,RDD,检查点,磁盘
From: https://www.cnblogs.com/wuyuchuan/p/16722908.html

相关文章

  • Redis持久化方式-AOF
    Redis由于在RDB的方式上存在缺陷,会产生时点与时点之间的问题,所以又有AOF的方式持久化数据AOF的原理就是记录下来客户端所有的操作指令,持久化到一个文件中,通过配置Redis的......
  • Redis的持久化方式-RDB
    Redis可以将数据持久化到磁盘里,主要通过两种方式,RDB和AOF的方式存储RDB:在redis里通过save和bgsave命令实现RDB的存储save方式是一种阻塞的方式存储数据bgsave方式是非阻......
  • pinia持久化存储插件pinia-plugin-persist
    官方文档:https://seb-l.github.io/pinia-plugin-persist/#vue3安装:npmipinia-plugin-persist--save使用,注意是pinia.use(piniaPersist)import{pinia}from'@/stores/s......
  • Docker安装部署Mysql8(以作数据持久化)
    1.创建容器并进行持久化处理#拉取镜像dockerpullmysql:8.0.20#启动镜像,用于拷贝配置文件到宿主机dockerrun-p3306:3306--namemysql-eMYSQL_ROOT_PASSWORD=12......
  • k8s pv与pvc持久化存储(静态与动态)
    k8spv与pvc持久化存储(静态与动态)PersistenVolume(PV):对存储资源创建和使用的抽象,使得存储作为集群中的资源管理PV分为静态和动态,动态能够自动创建PV•PersistentVolumeC......
  • Redis 持久化
    原文链接:Redis持久化RedisRDB持久化详解(原理+配置策略)Redis是一款基于内存的非关系型数据库,它会将数据全部存储在内存中。但是如果Redis服务器出现某些意外情况,比......
  • 第八章 Redis数据持久化之AOF
    一、AOF概述AOF(Append-OnlyFile)记录Redis中每次的写命令,类似mysql中的binlog,服务重启时会重新执行AOF中的命令将数据恢复到内存中,RDB(按策略持久化)持久化方式记录的粒......
  • 第七章 Redis数据持久化之RDB
    一、总体介绍1.Redis数据安全问题官网介绍:http://www.redis.io前面我们提到,Redis是一个缓存中间件,它的最大特点是使用内存从而使其性能强悍。但是使用内存的方式有一个......
  • 【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因
    问题描述在使用AzureDurableFunction函数,调用函数链模式来调用多个ActivityFunction。函数链:https://docs.azure.cn/zh-cn/azure-functions/durable/durable-function......
  • 05--Redis高级:持久化、主从复制、哨兵、集群、redis做缓存
    1redis持久化#持久化redis的所有数据保存在内存中,对数据更新将异步的保存到硬盘上#实现方式#1.快照(全量复制):某时某刻数据的一个完整备份-mysql的......