生产环境的运维中心>周期实例>选中DAG图中失败的实例右键查看运行日志
根据日志文末初步查看报错信息,未解决可进入运行诊断。
日志参数解读
INFO Start execute shell on node sh-base-biz-gatewayXX.cloud.etXX. //执行调度任务的机器
INFO CALC_ENGINE_IDENTIFIER=odps_demo_XX: //当前执行计算引擎的名字
INFO SKYNET_PARAVALUE=bizdate=202004XX: //调度配置中的参数,解析出来的值
INFO SKYNET_TASKID=70703315XX: //实例ID
INFO SKYNET_ID=7000032111XX: //节点id
INFO SKYNET_JOBID=7001190381XX: //JobID
INFO SKYNET_NODENAME=tmp_tb3_sql: //节点名字
INFO SKYNET_DSC_JOB_VERSION=1: //节点版本,节点更新一次,版本+1
INFO SKYNET_TIMEZONE=GMT+8: //时区 这里为东八区
INFO SKYNET_SOURCENAME=group_28378948471XXXX: //调度资源组名
INFO SKYNET_SYSTEM_ENV=prod: //dev开发环境 prod生产环境
INFO SKYNET_GMTDATE=202004XX: //当前日期,格式为yyyymmdd。补数据时传入的是业务日期+1
INFO SKYNET_BIZDATE=202004XX: //实例业务日期,格式为yyyymmdd
INFO SKYNET_CYCTIME=202004020009XX: //实例的定时运行时间,格式为yyyymmddhh24miss
INFO SKYNET_APP_ID=1160XX: //项目ID
INFO SKYNET_APPNAME=onaliyun_workshXX: //项目名
INFO SKYNET_RERUN_TIME=0: //重跑次数
INFO SKYNET_REGION=cn-shanghai: //Region
INFO ALISA_TASK_EXEC_TARGET=group_28378948471XXXX: //调度任务资源组
INFO ALISA_TASK_PRIORITY=1: //调度优先级 值越大优先级越高取值[1,3,5,7,8]
Log view: //每一句sql提交到MaxCompute后产生的执行日志 节点中有多句sql就会有多个logview
http://logview.odps.aliyun.com/logview/?h=http://service.odps.aliyun.com/api&p......
inputs:
onaliyun_workshXX.tmp_tb2/dt=20200401: 2 (531 bytes) //读表的数据量
outputs:
onaliyun_workshXX.tmp_tb3/dt_3=20200401: 2 (531 bytes) //写表的数据量
根据参数解决问题思路案例:
以inputs/outputs参数为例:
问题:实例运行成功,但是目的表分区为空。
insert到A表2020801分区,实例已经执行成功,但是select语句查询的时候发现A表20200801分区数据为空。
解决:
-
查看日志中该insert语句下面的第一个outputs参数,看表、分区、数据量是否符合需求?
- 符合,多半是查询验证的时候查错表或分区了,建议从outputs这里完整复制下来再查询。
- 不符合,见2。
-
查看日志中该insert语句下面的第一个inputs参数,看读取的表数量以及分区数据是否符合需求?
- 符合,没有数据基本是因为sql本身把数据过滤掉了。
- 不符合,inputs中少表或者少数据,说明调度上少挂了依赖,或者挂错了依赖,该sql执行的时候业务上真实需要的上游表还未产出。