首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

3.5RDD的容错机制

3.5 RDD的容错机制 RDD实现了基于Lineage的容错机制。RDD的转换关系,构成了compute chain,可以把这个compute chain认为是RDD之间演化的Lineage。...在部分计算结果丢失时,只需要根据这个Lineage重算即可。 图3-11中,假如RDD2所在的计算作业先计算的话,那么计算完成后RDD1的结果就会被缓存起来。缓存起来的结果会被后续的计算使用。...内部实现上,DAG被Spark划分为不同的Stage,Stage之间的依赖关系可以认为就是Lineage。关于DAG的划分可以参阅第4章。 提到Lineage的容错机制,不得不提Tachyon。...另外一个是Tachyon保存的数据的容错机制,这个机制类似于RDD的Lineage,Tachyon会保留生成文件数据的Lineage,在数据丢失时会通过这个Lineage来恢复数据。...RDD含有如何从其他RDD衍生(即计算)出本RDD的相关信息(即Lineage),据此在RDD部分分区数据丢失时可以通过物理存储的数据计算出相应的RDD分区。

49580

3.5 容错机制及依赖

2)记录数据的更新(在Spark中对应Lineage血统机制)。...3.5.1 Lineage(血统)机制 每个RDD除了包含分区信息外,还包含它从父辈RDD变换过来的步骤,以及如何重建某一块数据的信息,因此RDD的这种容错机制又称“血统”(Lineage)容错。...Lineage本质上很类似于数据库中的重做日志(Redo Log),只不过这个重做日志粒度很大,是对全局数据做同样的重做以便恢复数据。...为了减少这种冗余开销,通常在Lineage血统链比较长,并且含有宽依赖关系的容错中使用Checkpoint机制设置检查点。...这种做法是为了通过lineage血统做容错的辅助,lineage过长会造成容错成本过高,这样就不如在中间阶段做检查点容错,如果之后有节点出现问题而丢失分区,从做检查点的RDD开始重做Lineage,就会减少开销

94470

CheckM:基因组质量评估

CheckM提供了一系列工具用于评估从分离培养、单细胞、宏基因组获得的基因组质量,可以根据基因组在参考基因组发育树中的位置来推断其精确的单拷贝标记基因集(lineage-specificmarker set...marker set: tree 将bins放入参考基因组发育树 tree_qa 评估每个bin里的系统发育标记基因 lineage_set 推断每个...运行tree、lineage_set、analyze、qa taxonomy_wf 运行taxon_set、analyze、qa 一般情况下推荐使用基于系统发育的流程,其使用方法如下所示...: checkm lineage_wf 其中bin folder为含有bins序列的路径,output folder为结果文件路径名称(程序会自动创建文件夹...下面使用lineage_wf流程进行分析,如下所示: nohup checkm lineage_wf -t 20 -x fa --nt --tab_table -f bins_qa.txt metabat_bins

5.4K20

Kali编译LineageOS-19.1 for 小米8se

前言   之前一篇文章中已经完成了kali虚拟机的一些基本环境的搭建,现在我们开始用kali进行Lineage源码编译。...,还没有正式开始同步 repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b lineage...-19.1 提取专有 blob 这一步有不同情况有不同方式: 对于官方支持的机型,可以使用官方wiki的教程中提到的两种方式:从已经刷了lineage的手机中提取,或者从刷机包中提取,具体参考官方wiki...使用这种方式的好处是能够刷到最新版本的vendor,而不是从旧版本的lineage中去提取。...我想编译一个lineage首先我得有一个现成的编译好的rom,这很怪,就好像我想吃鸡蛋首先我得养只鸡,但是我没有鸡蛋所以我养不出鸡(不太恰当的比喻)。

1.3K20

Spark RDD详解

但是RDD在进行transform时,不是每处理一条数据就交给下一个RDD,而是使用小批量的方式进行传递(这也是一个优化点) lineage 既然Spark将RDD之间以pipeline的管道连接起来...这就牵涉到,Spark中的一个很重要的概念:Lineage即血统关系。它会记录RDD的元数据信息和依赖关系,当该RDD的部分分区数据丢失时,可以根据这些信息来重新运算和恢复丢失的分区数据。...简单而言就是它会记录哪些RDD是怎么产生的、怎么“丢失”的等,然后Spark会根据lineage记录的信息,恢复丢失的数据子集,这也是保证Spark RDD弹性的关键点之一 Spark缓存和checkpoint...上面提到了Spark lineage,但在实际的生产环境中,一个业务需求可能非常非常复杂,那么就可能会调用很多算子,产生了很多RDD,那么RDD之间的linage链条就会很长,一旦某个环节出现问题,容错的成本会非常高...通常存于内存,丢失数据可能性更大 改变原有lineage,生成新的CheckpointRDD。

77320

Spark RDD详解

但是RDD在进行transform时,不是每处理一条数据就交给下一个RDD,而是使用小批量的方式进行传递(这也是一个优化点) lineage     既然Spark将RDD之间以pipeline的管道连接起来...这就牵涉到,Spark中的一个很重要的概念:Lineage即血统关系。它会记录RDD的元数据信息和依赖关系,当该RDD的部分分区数据丢失时,可以根据这些信息来重新运算和恢复丢失的分区数据。...简单而言就是它会记录哪些RDD是怎么产生的、怎么“丢失”的等,然后Spark会根据lineage记录的信息,恢复丢失的数据子集,这也是保证Spark RDD弹性的关键点之一 Spark缓存和checkpoint...上面提到了Spark lineage,但在实际的生产环境中,一个业务需求可能非常非常复杂,那么就可能会调用很多算子,产生了很多RDD,那么RDD之间的linage链条就会很长,一旦某个环节出现问题,容错的成本会非常高...通常存于内存,丢失数据可能性更大 3) 改变原有lineage,生成新的CheckpointRDD。

73330

Spark Core 整体介绍

因此 RDD 的容错机制又称“血统 (Lineage) ”容错)记录下来,以便恢复丢失的分区。...DAG 中的 Lineage 过长,如果重算,则开销太大(如在 PageRank 中)。...Lineage 血统 Spark的主要区别在于它采用血统(Lineage)来时实现分布式运算环境下的数据容错性(节点失效、数据丢失)问题, RDD Lineage被称为RDD运算图或RDD依赖关系图,是...当这个RDD的部分分区数据丢失时,它可以通过Lineage获取足够的信息来重新运算和恢复丢失的数据分区 依赖关系决定Lineage的复杂程度,同时也是的RDD具有了容错性。...在使用checkpoint算子来做检查点,不仅需要考虑Lineage长度,还也要考虑Lineage的复杂度(是否有宽依赖),对于Shuffle Dependency加Checkpoint是一个值得提倡的做法

1000
领券