【赵渝强老师】Spark的容错机制:检查点

由于Spark的计算是在内存中完成,因此任务执行的生命周期lineage(血统)越长,执行出错的概念就会越大。Spark通过检查点Checkpoint的方式,将RDD的状态写入磁盘进行持久化的保存从而支持容错。如果在检查点之后有节点出现了问题,Spark只需要从检查点的位置开始重新执行lineage就可以了,这样就减少了开销。设置checkpoint的目录,可以是本地的文件夹,也可以是HDFS。

视频讲解如下
【赵渝强老师】Spark的容错机制:检查点

建议在生产系统中采用具有容错能力、高可靠的文件系统作为检查点保存的目的地。

1、使用本地目录作为检查点目录

这种模式需要将spark-shell运行在本地模式上。下面的代码使用了本地目录作为RDD检查点的目录

(1)设置检查点目录。

scala 复制代码
scala> sc.setCheckpointDir("file:///root/temp/checkpoint")

(2)创建RDD。

scala 复制代码
scala> val rdd1 = sc.textFile("hdfs://bigdata111:9000/input/sales")

(3)标识RDD的检查点。

scala 复制代码
scala> rdd1.checkpoint

(4)执行计算。

scala 复制代码
scala> rdd1.count

(5)当计算完成后,查看本地的/root/temp/checkpoint目录下生成了相应的检查点信息,如下图所示。

2、使用HDFS目录作为检查点目录。

这种模式需要将spark-shell运行在集群模式上。下面的代码使用了HDFS目录作为RDD检查点的目录

(1)设置检查点目录。

scala 复制代码
scala> sc.setCheckpointDir("hdfs://bigdata111:9000/spark/checkpoint")

(2)创建RDD。

scala 复制代码
scala> val rdd1 = sc.textFile("hdfs://bigdata111:9000/input/sales")

(3)标识RDD的检查点。

scala 复制代码
scala> rdd1.checkpoint

(4)执行计算。

scala 复制代码
scala> rdd1.count

(5)当计算完成后,查看HDFS的/spark/checkpoint目录下生成了相应的检查点信息,如下图所示。

相关推荐
vivo互联网技术4 分钟前
Spark on K8s 在vivo大数据平台的混部实战
大数据·spark·容器化
盈达科技15 分钟前
盈达科技GEO技术体系全景解密:AIM³ Pro × AICC × GEO-BENCH Pro构建认知主权堡垒
大数据·人工智能
想你依然心痛1 小时前
Spark大数据分析与实战笔记(第四章 Spark SQL结构化数据文件处理-05)
笔记·数据分析·spark
得物技术1 小时前
得物自研DGraph4.0推荐核心引擎升级之路
大数据
沐风¥1 小时前
Spark-SQL
spark
SoFlu软件机器人1 小时前
电商系统开发:基于飞算JavaAI的分布式事务解决方案自动化实践
运维·分布式·自动化
F36_9_1 小时前
如何通过工具实现流程自动化
大数据·人工智能
EasyGBS1 小时前
视频融合平台EasyCVR可视化AI+视频管理系统,打造轧钢厂智慧安全管理体系
大数据·网络·人工智能·音视频
星辰瑞云2 小时前
Spark-SQL核心编程3
大数据·分布式·spark
DemonAvenger2 小时前
Go并发编程进阶:基于Channel的并发控制模式实战指南
分布式·架构·go