天天看點

DataWorks百問百答05:資料同步任務出現髒資料怎麼辦?

什麼樣的資料會判定為髒資料?

同步任務在任務運作過程中遇到插件的所有異常都會作為髒資料進行統計。

  • 資料類型轉換(源端表和目的表字段類型不比對,大機率)
  • 源端表資料過長
  • 資料源異常
  • Reader/Writer插件異常
  • 資料中有表情符

我該如何排查?

同步任務出現報錯:髒資料條數檢查不通過,限制是[0]條,但實際上捕獲了[141]條。

DataWorks百問百答05:資料同步任務出現髒資料怎麼辦?

【解決方法一】

增大髒資料限制條數,擴大門檻值,容忍髒資料(源端髒資料仍存在,不同步到目的端,日志會顯示髒資料記錄,任務不會報錯)。

DataWorks百問百答05:資料同步任務出現髒資料怎麼辦?

【解決方法二】

根據運作日志定位源端髒資料,修複後再同步。

DataWorks百問百答05:資料同步任務出現髒資料怎麼辦?

将日志複制出來可快速定位,截取1條記錄作為樣例分析。本例情況就是源端第47個字段值"java"為String類型,而目的端對應寫入字段為Long類型,需更改為比對的類型。

DataWorks百問百答05:資料同步任務出現髒資料怎麼辦?

【案例1】

隻有utf8mb4編碼支援同步表情符。

例如:添加JDBC格式的資料源時,需要修改utf8mb4的設定,如jdbc:mysql://xxx.x.x.x:3306/database?com.mysql.jdbc.faultInjection.serverCharsetIndex=45。

【案例2】

同步任務髒資料報錯 XXXX command denied to user ‘XXXX’

因為沒有資料源權限造成的問題,聯系對應DBA申請一下update、insert、delete權限。

其餘Reader/Writer插件問題情況略。

DataWorks百問百答曆史記錄

請點選檢視

采購季限時!原價2500元現僅需99元,3分鐘入門DataWorks标準版6大場景!

點選檢視

更多DataWorks技術和産品資訊,歡迎加入

【DataWorks釘釘交流群】