Spark Checkpoint 概述
2024-09-04 15:06:30
有时候,Transformation 的 RDD 非常多或者具体 Transformation 产生的 RDD 本身计算特别复杂和耗时,此时我们必须考虑对计算结果数据进行持久化。与 persist 不同,persist 是优先将结果放入内存,内存不够的情况下,会放在磁盘。无论是放内存还是磁盘,都是不可靠的。Checkpoint 的产生就是为了相对而言更加可靠的持久化数据。
1. Checkpoint 可以指定把数据放在本地并且是多副本的方式,但是正常的生产环境下是放在 HDFS 上的,这就保证了中间计算结果持久化的高可靠性。
2. 在进行 RDD 的 Checkpoint 的时候其所依赖的所有的 RDD 都会从计算链条中清空掉
3. 作为最佳实践,一般在进行 checkpoint 方法调用前通常都要进行 persist 来把当前 RDD 的数据持久化到内存或者磁盘上,这是因为 checkpoint 是 Lazy 级别的,必须有 Job 的执行且在 Job执行后才会从后往前回溯哪个 RDD 进行了 checkpoint 标记,然后对标记了要进行 checkpoint 的 RDD 新启动一个 Job 执行具体的 Checkpoint 的过程。
4. Checkpoint 改变了 RDD 的 Lineage。
5. checkpoint 是另外启动一个 Job,并重新计算。而不是复用计算完的结果。因此建议在 checkpoint 之前进行 cache 操作。
最新文章
- LevelDb简单介绍和原理——本质:类似nedb,插入数据文件不断增长(快照),再通过删除老数据做更新
- Linux --windows vs
- 那些我用过的Android开源项目
- Linux下搭建Oracle11g RAC(6)----安装Grid Infrastructure
- Binary Tree Preorder Traversal and Binary Tree Postorder Traversal
- PHP基础入门详解(一)【世界上最好用的编程语言】
- 关系型数据库工作原理-SQL重写(翻译自Coding-Geek文章)
- spring 4 + hibernate 4 配置数据库事务
- MySQL-ERROR 2003
- static_assert enable_if 模板编译期检查
- [20180627]truncate table的另类恢复.txt
- 第五章 绘图基础(ALTWIND)
- 基于HTML5 Canvas WebGL制作分离摩托车
- [原抄] Potplayer 1.7.2710 快捷键
- 分分钟让你理解HTTPS
- go_封装
- Codeforces758D Ability To Convert 2017-01-20 10:29 231人阅读 评论(0) 收藏
- Cassandra Wiki Login JmxSecurity
- Python练习—循环
- @RequestBody和@RequestParam、@ResponseBody的使用
热门文章
- php/js/linux: js加密(rsa公钥加密) php解密(rsa私钥解密)
- node.js+express+jade系列六:图片的上传
- hdu-5650 so easy(水题)
- C++内存使用机制基本概念详解
- Python 爬虫 —— 文件及文件夹操作
- PS 滤镜— —挤压效果
- 【集成学习】lightgbm参数介绍(sklearn)
- HDU5768Lucky7(中国剩余定理+容斥定理)(区间个数统计)
- SPOJ8093Sevenk Love Oimaster(广义后缀自动机)
- log4net调试