data-juicer icon indicating copy to clipboard operation
data-juicer copied to clipboard

Support of partitioning/checkpointing/event-logging

Open cyruszhang opened this issue 4 months ago • 0 comments

design doc (internal): https://aliyuque.antfin.com/ah7ri9/zdesop/qw3tm08a5wcqx446

概述 Data-Juicer 分区、检查点和事件日志系统为处理大型数据集提供了全面的解决方案,具备容错性、可扩展性和完整的可观测性。

设计初衷 Ray会有一些容错能力(actor的persistence机制,以及task级别的重试逻辑);Ray-DLC也会提供更好的异常容错和自愈;但是还是存在一些系统性的问题: ● 整体执行问题:ray将整个数据集作为一个整体单元来处理;如果一小部分失败了,整个OP stage乃至pipeine就失败 ● 进度恢复空白:整个流程作为个整体来操作的,一个部分错了就会需要全部重跑 ● 没有用户可配置的细粒度的容错方式,缺少灵活性 ● 数据持久化和映射:这个目前是空缺的;actor可以提供入口,但是目前DJ框架没有支持 ● 可观测性不够:ray只有集群状态,对于dj任务的状态还是缺少了更好的观测 所以我们希望能够通过一整套分区、检查点、事件日志的逻辑,把这些问题都解决

主要功能 ● 容错性: 使用检查点自动从故障中恢复 ● 可扩展性: 基于分区的处理,适用于任何规模的数据集 ● 可观测性: 全面的事件日志记录和实时监控 ● 性能: 优化的存储格式和并行处理 ● 灵活性: 可配置的分区和检查点策略 DJ会提供分区、检查点逻辑,可以给用户提供显式的容错机制介入,灵活的重启方式,小分片的血缘支持,也有更加完整和细粒度的的任务可观测性,可以给DJ提供企业级的服务打好基础。这个跟Ray或者Ray-DLC关注的容错和计算可扩展性并不冲突

cyruszhang avatar Jul 24 '25 20:07 cyruszhang