Dataphin中重跑与强制重跑的区别

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
简介: 本文主要解析了Dataphin产品中重跑与强制重跑的区别及运行原理,推荐用户根据不同的场景选择适合的操作。

区别一:适用的实例对象范围不同


通常情况下,当实例运行完成后,会变为成功或失败状态。此时如果用户可能因为各种原因需要对实例进行重跑,就可以通过重跑按钮进行实例的重跑。重跑时,系统会按照最新发布的代码版本执行。Dataphin支持针对单个实例进行重跑、或选中一个起点及其下游,按照依赖关系进行批量重跑(如整条链路计算逻辑修改等场景),以实现全链路数据更新。


可能存在某些处于非成功或失败状态的实例,不满足重跑操作所要求条件(实例依赖的所有上游实例运行成功并到达当前实例的定时调度时间)的情况,此时就需要采用强制重跑操作。


如下图所示,重跑主要针对正常运行结束后状态为成功或失败的实例,而强制重跑可以无视实例的状态强制运行。

实例生命周期状态

重跑与强制重跑的区别.png

区别二:运行机制不同


场景一:任务A少读取了一部分数据,任务B因为缺少这部分数据运行失败了,对任务A的代码逻辑进行修复后,需要从A开始向下重跑。

如下图所示,A、B、C 三个任务,存在着依次依赖的关系,需要上一个任务成功运行完成后,才能开始运行下一个任务。此时 B 任务运行失败了,C 任务处于未运行状态。

重跑与强制重跑的区别 (1).png

重跑:当我们选择重跑节点时,仅可选择 A 和 B 任务, C 任务因为不满足重跑运行条件(上游所有任务成功完成),不能选择。我们可选择重跑 B 节点,当 B 点成功完成后,C 任务会因为满足运行条件(上游所有任务成功完成且到达调度时间)自动开始运行,而无需进行额外的设置。

强制重跑:我们也可以无视任务状态,对 B、C 选择强制重跑,此时系统会根据节点依赖关系,依次运行 B 和 C 节点。


通常情况下,我们重跑失败的节点即可,无需对下游节点进行额外操作。


场景二:任务 B 的代码存在问题导致写入分区的数据为空,因此当任务 C 读取表的时候运行失败了。此时用户对 B 节点的代码进行了改写,并重跑。在 B 节点运行过程中,发现了 A 节点的代码也存在问题,对 A 节点任务进行的修改。此时,用户选择重跑或强制重跑,运行结果会有极大不同。

重跑与强制重跑的区别 (2).png


重跑:此时由于 B 节点处于运行中,因此无法进行重跑。我们仅能对 A 和 C 节点进行重跑操作,且因为处于依赖链条中间的 B 节点并不参加此次的重跑,系统会将 A 和 C 节点当成两个独立的节点运行。因此,A 节点更新的数据并不会对 B 和 C 的任务生效。

强制重跑:可以无视任务状态,对 A、B、C 节点选择强制重跑,此时系统会强制终止掉运行中的 B 任务,将所有任务置为未运行状态,然后再根据节点的相互依赖关系依次运行。此时,A 节点更新的数据会对下游所有任务生效。


适用场景

通常情况下,当任务运行失败时,我们只要选择失败的任务进行重跑就可以了。下游处于未运行状态的节点会在上游节点运行成功后自动开始运行。

在某些特殊场景下,我们可以忽略上游实例的运行状态(一般是无数据依赖,仅调度依赖,或者对数据实效性要求不高的情况),使用强制重跑功能来恢复运行。另外,如果运行到链路中间的任务,忽然发现上游任务有数据错误的情况需要及时止损,可以采用强制重跑功能。此时,系统会先将所有选中的任务批量终止,再从最上游实例按照依赖关系依次向下运行,避免新老代码并存产生的数据错乱。

相关文章
|
2月前
|
资源调度 Kubernetes 调度
Dataphin功能Tips系列(46)-实时研发任务在session调试和运行 时资源分配上的区别
实时研发任务在session调试和运行 时资源分配上的区别
|
16天前
|
测试技术 数据处理 调度
Dataphin功能Tips系列(57)「预览」vs「运行」:离线集成的神奇按钮
在数据开发过程中,使用Dataphin处理离线集成任务时,可能遇到数据过滤和字段计算组件配置正确性的验证问题。通过「预览」功能,可快速验证处理逻辑而不影响目标表;对于需要调度的任务,担心资源占用和耗时超出预期时,可使用「运行」功能进行全流程测试,评估实际耗时与资源消耗。「预览」适合逻辑验证,「运行」用于真实环境模拟,两者结合助力高效开发与调试。
|
16天前
|
SQL Java 关系型数据库
Dataphin功能Tips系列(53)-离线集成任务如何合理配置JVM资源
本文探讨了将MySQL数据同步至Hive时出现OOM问题的解决方案。
|
16天前
|
SQL 数据采集
Dataphin功能Tips系列(56)如何实现质量规则的批量修改
本文介绍了在Dataphin中针对Dataphin表和全域数据表的自定义SQL规则的批量修改的方法。
|
16天前
|
弹性计算 调度
Dataphin功能Tips系列(52)-调度资源组弹性伸缩
Dataphin支持通过自定义资源组实现弹性资源调配:设置资源上下限,允许资源组间相互“借用”空闲资源。当开发环境任务暂停时,其未使用的资源可被生产环境借用,确保资源高效利用,同时保障各环境资源需求。配置时只需明确开发与生产环境的资源上下限,并关联对应项目任务即可实现动态调整。
|
16天前
|
供应链
Dataphin功能Tips系列(55)如何通过规则排序实现不同的自动上架效果
本文介绍了如何在Dataphin中配置自动上架规则以高效管理数据。
|
16天前
Dataphin功能Tips系列(54)如何将资产自动变更为暂不上架
在资产运营管理中,为避免某些表(如贴源表、中间表等)被自动上架,Dataphin 提供了“暂不上架”规则配置功能。通过创建规则组和规则,可精细化管理资产对象。
|
2月前
|
存储

热门文章

最新文章