Spark应用开发中使用缓存或checkpoint实现容错
来源:互联网 发布:富云软件科技有限公司 编辑:程序博客网 时间:2024/05/21 09:16
Spark应用开发中使用缓存或checkpoint实现容错,并且避免了多次重复进行RDD的计算。
1、如果程序中,对某一个RDD,基于它进行了多次transformation或者action操作。那么就非常有必要对其进行持久化操作,以避免对一个RDD反复进行计算。
使用方法:
val file = sc.textFile("/tmp/spark/1.data")file.persist()file.count()
2、如果要保证在RDD的持久化数据可能丢失的情况下,还要保证高性能,那么可以对RDD进行Checkpoint操作。checkpoint是针对外部存储系统的可靠性,比cache更高,通常为hdfs
使用方法:
val data = sc.parallelize(1 to 1000000, 15)sc.setCheckpointDir("/tmp/spark/checkpoint")import org.apache.spark.storage._data.persist(StorageLevel.DISK_ONLY)data.checkpointdata.count
在hdfs上查看数据
hadoop fs -ls /tmp/spark/checkpoint/7c9c00ea-2bb1-4e35-8722-5f6331e03c3b/rdd-0
3、注意:如果需要进行checkpoint操作之前,给要checkpoint的RDD,先进行persist(StorageLevel.DISK_ONLY)
* 先persist(),再用checkpoint()的原理如下:
* 那么首先执行到该rdd的iterator()之后,会先发现storageLevel != StorageLevel.NONE
* 那么就会通过CacheManager去获取数据,此时会发现通过BlockManager获取不到数据(因为是第一次执行)
* 那么就会第一次还是会计算一次rdd的数据,然后通过CacheManager的putInBlockManager()将其通过BlockMananger进行持久化
* rdd所在的job运行结束,然后启动单独job进行checkpoint操作,此时是不是又会执行到该rdd的iterator()方法
* 那么,就会发现持久化级别不为空,默认BlockManager()直接读取持久化数据
* 如果持久化数据丢,则会调用computeOrReadCheckpoint进行rdd partition的计算
* 判断isCheckpointed为true,那么就会从外部分件系统读取数据
4 0
- Spark应用开发中使用缓存或checkpoint实现容错
- Spark Streaming如何使用checkpoint容错
- Spark Streaming如何使用checkpoint容错
- Spark Streaming如何使用checkpoint容错
- Spark Streaming缓存、Checkpoint机制
- Spark中CheckPoint操作
- 42:Spark Streaming中checkpoint内幕实现彻底解密
- spark ALS 使用checkpoint 机制
- RDD容错机制-checkpoint
- Spark Streaming 实战案例(四) Spark Streaming 缓存、Checkpoint机制
- spark checkpoint
- Spark性能调优:checkPoint的使用
- 第42课:Spark Streaming中checkpoint内幕实现彻底解密(源代码提问:checkpoint源代码修改,适用场景:spark的版本升级,数据恢复。。)
- spark core源码分析11 RDD缓存及checkpoint
- 使用IDEA开发Spark应用
- spark-容错
- Spark Streaming checkpoint 实现状态的恢复实现
- 传统mvc开发中在Servlet或普通java类中使用ehcache缓存
- JavaWeb----JDBC
- OpenCV学习06
- ImageView中src和background属性的主要亮点区别
- 计算机时间、unix时间、linux时间、java时间为何以1970年1月1日为原点?从1970年1月1日开始计算?
- 数据挖掘软件 clementine软件的基本操作
- Spark应用开发中使用缓存或checkpoint实现容错
- Java利用OpenOffice将word等office文档转换成PDF
- JQuery 学习—JQuery Validation表单验证范例
- 运用carousel的轮播广告后图标出不来
- 如何高效的访问内存
- 贪吃蛇
- c++ 写注册表 并将exe添加到开机启动
- 数据结构(一)
- 哲学、科技和商业