DataWorks百问百答68:如何阅读数据集成日志(日志分析及常见报错情况)?

简介: 数据集成日志分析及常见报错情况(rds至odps版)

如何阅读数据集成日志?

第一部分:系统参数信息。记录运行机器、地域信息、项目名、节点信息、参数值等。
需要关注点:参数值是否已经被实际值替换,运行的调度资源组是什么类型?
group_xxxxxxx_xxx:公共调度资源组
S_res_group_xxx:独享调度资源组
xxxxx:自定义调度资源组

dataworks68-5.png
数据集成资源组:
运行在默认的资源组上: in Pipeline[basecommon_ group_xxxxxxxxx]
运行在数据集成自定义资源组上: in Pipeline[basecommon_xxxxxxxxx]
运行在独享数据集成资源上: in Pipeline[basecommon_S_res_group_xxx]
需注意资源组的选择。

数据集成任务从提交到结束,共分为四个状态。分别为submit、wait、run、success或者failed。

submit:提交任务,将数据集成任务提交到服务器执行。
数据集成任务不允许同一个任务同时提交两次,所以当一个任务同时提交了多个实例时仅有一个会被服务器接收,另一个会提交失败(补数据和周期实例冲突、补数据和手动运行冲突、周期实例间隔时间段冲突、周期实例和手动触发任务提交冲突这些情况都会导致任务提交失败)。所以当有多实例job冲突时,会造成submit failed的现象。

wait:等待服务器分配资源使该任务运行。若数据集成资源组资源不足,则运行日志中会有长时间处于wait状态的现象且stage为0%。
dataworks68-4.png

run:表示数据集成任务已经在资源组上运行了。run状态包含多个部分,包括预执行preSql(删除表数据等)、同步数据、数据写入目的端后执行postSql(同步完成后执行的sql,删除部分重复数据等)等。

数据集成任务日志分为两个部分,第一部分主要为任务渲染、提交、运行、执行完毕的日志,不记录各个子线程的执具体执行情况,仅粗略表达任务的执行状态、时间。对应的结束标志为:
DI Finish at            : xxxxxx
dataworks68-3.png

第二部分为各线程具体执行的细则,主要包含任务的切分、切分的结果、执行的详情、数据量、最终状态等。
从日志表现上看,DI Finish at  : xxxxxx之后便可认为是第二部分的详细日志了。

例如我们配置切分键将一个rds表数据切分成数份进行同步,日志中会有明显的切分标志并且根据所配置的切分键的最大最小值进行等分为数份。
dataworks68-2.png
且每一个在源端进行查询的sql和其最终的结构都会打印出来。
dataworks68-1.png

长时间处于run状态但是进度一直是0%?
这种情况极大的概率是由于任务配置了preSql且preSql执行逻辑较为复杂或者数据量过大,导致preSql在数据库端执行的时候耗用的时间过长从而任务进度一直是0%;
这种情况日志中请到第二部分日志中搜preSql,会有明显的presql执行日志且其与下一条日志的时间间隔相差较久。

长时间处于run状态但是进度一直在某个百分比?
这种情况可能是个子线程所执行的读取数据库数据的sql在数据库端执行异常,迟迟不返回结果,一般伴随着数据库连接超时、时间参数超过阈值而报error的情况。

长时间处于run状态且进度为99%?
这种情况请检查下是否配置了postsql,即同步完成后执行postsql对数据进行后处理耗用了比较久的时间。同presql的一样。

DataWorks百问百答历史记录 请点击这里查看>>

更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
11月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
1092 54
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
1136 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
832 5
图解MySQL【日志】——Redo Log
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
1504 13
|
缓存 Java 编译器
|
SQL druid Oracle
【YashanDB知识库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIER start异常
客户Java日志中出现异常,影响Druid的merge SQL功能(将SQL字面量替换为绑定变量以统计性能),但不影响正常业务流程。原因是Druid在merge SQL时传入null作为dbType,导致无法解析递归查询中的`start`关键字。
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
842 7
MySQL事务日志-Undo Log工作原理分析
|
SQL 存储 关系型数据库
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
1680 0
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
1167 8

相关产品

  • 大数据开发治理平台 DataWorks