这个错误通常发生在源数据中存在大量脏数据时。请仔细检查DataX报告的脏数据日志信息,或者调整脏数据阈值。
解决方法:
- 检查DataX报告的脏数据日志信息,找出脏数据的具体原因。
- 根据脏数据的原因,调整脏数据阈值。在DataWorks同步脚本中,可以通过设置
dirty_data_threshold
参数来调整脏数据阈值。例如,将阈值设置为0.5,表示当脏数据的占比超过50%时,DataX会报错。修改后的同步脚本如下:
{
"job": {
"setting": {
"speed": {
"channel": 1
}
},
"content": [
{
"reader": {
"name": "odpsreader",
"parameter": {
"accessId": "your_access_id",
"accessKey": "your_access_key",
"project": "your_project",
"table": "your_table",
"partition": "your_partition",
"endpoint": "your_endpoint",
"dirty_data_threshold": 0.5, # 设置脏数据阈值为0.5
...
}
},
"writer": {
"name": "hdfswriter",
"parameter": {
"defaultFS": "hdfs://your_hdfs_host:your_hdfs_port",
"fileType": "text",
"path": "your_hdfs_path",
...
}
}
}
]
}
}
- 根据实际情况,调整脏数据阈值后,重新运行DataWorks同步脚本,看是否还会出现相同的错误。