开发者学堂课程【SaaS 模式云数据仓库系列课程 —— 2021数仓必修课:DataWorks 数据集成日志查看】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/55/detail/1196
DataWorks 数据集成日志查看
内容简介:
一、DataWorks 数据集成日志相关介绍
二、数据集成任务完整日志打印印任务的总体状态
三、数据集成任务完整日志打印线程明细、执行过程和结果
四、常见问题
一、DataWorks 数据集成日志相关介绍
数据集成任务完整日志分为两大部分,第一部分主要打印任务的总体状态,第二部分打印线程明细、执行过程和结果等。
● 系统参数信息模块:
● 记录运行机器、地域信息、项目名、节点信息、参数值等。
● 需要关注点:
● 1.配置的参数是否被真实值替换。( 配置出错或者未解析会导致实际任务运行时找不到分区/查不到数据等)
● 2.运行任务的数据集成资源组类型(部分数据源仅支持独享数据集成资源组)
● 资源组标识:
● 运行在数据集成公共资源组上: in Pipeline[basecommon_ group_ xxxxxxx]
● 运行在数据集成自定义资源组上: in Pipeline[basecommon_ xxxxxxxx]
● 运行在数据集成独享资源组上: in Pipeline[basecommon_ S_ res_group _xxx]
二、数据集成任务完整日志打印印任务的总体状态
日志第一部分: (同步任务的四个状态)分别为 submit、wait、 run、 success/failed。
submit :提交任务,将数据集成任务提交到服务器执行。数据集成任务不允许同一个任务同时提交两次,所以当一个任务同时提交了多个实例时仅有一个会被服务器接收,另一个会提交失败(补数据和周期实例冲突、补数据和手动运行冲突、周期实例间隔时间段冲突、周期实例和手动触发任务提交,冲突这些情况都会导致任务提交失败) .所以当有多实例 job 冲突时,会造成 submit failed 的现象。
wait :等待数据集成资源组分配资源使该任务运行。若数据集成资源组资源不足,则运行日志中会有长时间处于wait状态的现象且任务进度一直为0%。
run :表示数据集成任务已经在资源组上运行了。run 状态时间较长;执行的任务较多包括预执行 preSql (删除表数据等)、同步数据、数据写入目的端后执行 postSql (同步完成后执行的 sql,删除部分重复数据等)等。如果任务进度卡在某个百分点不动,可以检查下是否配置了预执行或者后执行sql语句。
Success/failed: 分别表示任务执行成功/失败
以上是同步任务日志第一部分主要打印信息,为任务渲染、提交、运行、执行完毕的日志,日志结束的标志信息: DI Finish at: xxxxxxx。
三、数据集成任务完整日志打印线程明细、执行过程和结果
日志第二部分:任务执行明细、子线程执行情况及结果返回信息、数据写入信息等。该部分日志请在如图所示的运行日志中找detail log url这个标识符,可从该链接中查看详细日志。
大体可分为 6 个步骤:
1.任务渲染完毕后提交的实际配置以及参数替换结果的json配置。
2.数据源端的表信息、列信息。
3.对 odps 表做数据清理(如果配置了写入前清理数据)。
4.根据配置的切分键生成sql到数据源端读取数据(若是配置了querysq|那么会执行querysql 忽略切分键配置)。
5.执行取数 sql 并向目的端写入数据。
6.数据条数、速率的最终统计。
四、常见问题
1.0dps 表不存在(在生产环境运行任务报该异常一般是只创建了 odps 开发表后直接配置了数据集成任务然后就发布运行了,需要再创建生产表)
2.任务提交后直是 wait 状态 (当数据集成资源组不足时会出现该情况(公共数据集成资源组资源不足/独享数据集成资源组支持的并发数小于任务配置的并发数或者其他同步任务运行中导致剩余的资源不够下一个任务启动)
3.任务直处于 run 状态但是 卡在某个百分点不往下进行( 1.首先检查是不是配置了presql 或者 postsql ,在准备数据写入或者数据已经写入后执行了该 sql 且该 sql执行时间过长2.查看 detaillog 排查是否某个子线程取数时数据库端迟迟没返回结果)
4.读取数据库端数据时报链接超时异常(该情况需要调整数据库超时时间参数或者优化取数 sql 等)。
5.网络不通(该情况需具体分析,一般情况为白名单没有加全或者独享资源组没有绑定装有网络)。