Spark中的Lineage血统
2019-04-11 11:18
85 查看
版权声明:版权声明中 https://blog.csdn.net/lds_include/article/details/89205952
Spark中的Lineage血统
说明
- RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(即血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。
体现过程
- RDD在计算过程中,如果有一个RDD的分区信息丢失,该RDD会首先判断是否做个缓存,如果做过缓存,则直接取出缓存的数据,如果没有缓存,就判断是否做过checkpoint,如果没有checkpoint,则从父的RDD的分区开始重新计算,其他分区都不用重新计算,这样既保证了容错性,又提高了运算效率。
区别
- 在任务计算过程中,如果其中一个Executor宕掉了,会由worker重新启动一个新的executor继续完成剩余的任务,如果某一个Worker宕掉了,此时的master不会重新启动新的worker,会把宕掉的worker没有完成的任务重新分配给其他worker进行计算,这个过程和lineage是没有关系的,这是属于集群的容错机制。
相关文章推荐
- spark2.0原理分析--RDD Lineage(逻辑执行计划)
- Spark容错机制,Lineage,Checkpoint
- 【Spark学习】Apache Spark部署之Standalone Mode
- 大数据IMF传奇行动 Spark pi 例子计算 解析 百万次的运算
- spark读写hdfs后出现的异常错误
- Spark 提交任务详解
- 使用Scala写第一个Spark程序
- Spark2.x学习笔记:18、Spark Streaming程序解读
- Spark笔记整理(十三):RDD持久化性能测试(图文并茂)
- Spark源码系列(九)Spark SQL初体验之解析过程详解
- 关于spark运行FP-growth算法报错com.esotericsoftware.kryo.KryoException
- (版本定制)第14课:Spark Streaming源码解读之State管理之updateStateByKey和mapWithState解密
- Spark SQL 集成ElasticSearch的案例实战
- Spark GraphX实例(3)
- spark的RDD中的action(执行)和transformation(转换)两种操作中常见函数介绍
- Ignite集成Spark之IgniteDataFrames
- Spark的任务调度
- spark源码学习(二)---Master源码分析(2)-master内组件状态改变机制
- spark 数据类型(Data Types)
- Starting up PySpark for using python with Spark in eclipse