開發與維運

DataWorks百問百答55:如何使用DataWorks運行日誌runlog排查問題?

生產環境的運維中心>週期實例>選中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=20200402:  //當前日期,格式為yyyymmdd。補數據時傳入的是業務日期+1
 INFO SKYNET_BIZDATE=20200401:  //實例業務日期,格式為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分區數據為空。

解決:

  1. 查看日誌中該insert語句下面的第一個outputs參數,看錶、分區、數據量是否符合需求?

    • 符合,多半是查詢驗證的時候查錯表或分區了,建議從outputs這裡完整複製下來再查詢。
    • 不符合,見2。
  2. 查看日誌中該insert語句下面的第一個inputs參數,看讀取的表數量以及分區數據是否符合需求?

    • 符合,沒有數據基本是因為sql本身把數據過濾掉了。
    • 不符合,inputs中少表或者少數據,說明調度上少掛了依賴,或者掛錯了依賴,該sql執行的時候業務上真實需要的上游表還未產出。

DataWorks百問百答歷史記錄 請點擊這裡查看>>

更多DataWorks技術和產品信息,歡迎加入【DataWorks釘釘交流群】

Leave a Reply

Your email address will not be published. Required fields are marked *