数据集成,是阿里巴巴对外提供的稳定高效、弹性伸缩的数据同步平台。 致力于提供复杂网络环境下、丰富的异构数据源之间数据高速稳定的数据移动及同步能力。丰富的数据源支持:文本存储(FTP/SFTP/OSS/多媒体文件 等)、数据库(RDS/DRDS/MySQL/PostgreSQL 等)、NoSQL(Memcache/Redis/MongoDB/HBase 等)、大数据(MaxCompute/ AnalyticDB/HDFS 等) 、MPP数据库(HybridDB for MySQL等)。正因为数据集成兼容了复杂网络环境下,多种数据库之间共通,所以在使用的时候,难免会遇到出错的情况,那么下面我们来解析一下数据集成的日志组成。
如图所示:“Start Job” 表示开始这个任务;Start Job 下面会有段日志 “running in Pipeline[XXXXX]” 主要是用来区分任务是跑在什么机器上,如果XXXXX中含有“ basecommon_group_XXXX ”等字样,说明是跑在公共资源组的机器上,如果不包含 “ basecommon_group_XXXX ” 的字样,说明在您的自定义资源组上运行。如何查看具体执行任务的机器名,请参考“任务运行情况这节的介绍”。
在任务开始以后,日志中会打印出来实际执行的任务代码(出于安全考虑,我们会将敏感信息以*号表示),如图所示:
图示这个任务的实际代码样例如下:
Reader: odps shared=[false ] bindingCalcEngineId=[9617 ] column=[["t_name","t_password","pt"] ] description=[connection from odps calc engine 9617] project=[XXXXXXXXX ] *accessKey=[******** ] gmtCreate=[2016-10-13 16:42:19 ] type=[odps ] accessId=[XXXXXXXXX ] datasourceType=[odps ] odpsServer=[http://service.odps.aliyun.com/api] endpoint=[http://service.odps.aliyun.com/api] partition=[pt=20170425 ] datasourceBackUp=[odps_first ] name=[odps_first ] tenantId=[168418089343600 ] subType=[ ] id=[30525 ] authType=[1 ] projectId=[27474 ] table=[t_name ] status=[1 ] Writer: odps shared=[false ] bindingCalcEngineId=[9617 ] column=[["id","name","pt"] ] description=[connection from odps calc engine 9617] project=[XXXXXXXXX ] *accessKey=[******** ] gmtCreate=[2016-10-13 16:42:19 ] type=[odps ] accessId=[XXXXXXXXX ] datasourceType=[odps ] odpsServer=[http://service.odps.aliyun.com/api] endpoint=[http://service.odps.aliyun.com/api] partition=[ ] truncate=[true ] datasourceBackUp=[odps_first ] name=[odps_first ] tenantId=[XXXXXXXXX ] subType=[ ] id=[30525 ] authType=[1 ] projectId=[27474 ] table=[test_pm ] status=[1 ]
这是一个典型的 Maxcompute(原ODPS)数据源同步到 Maxcompute 数据源的任务代码,关于这段任务代码的解析,请参考MaxCompute Reader 和 MaxCompute Writer。
上面我们介绍了实际运行的任务代码,在实际运行的任务代码下,会打印出来该任务的运行情况,如图所示:
图中用红框标记出来的内容,记录了这个任务何时开始运行,何时运行结束。当:“State: 2(WAIT)” State 状态为2的时候,还在等待任务运行;
当:“State: 3(RUN) ” State 状态为3的时候,表示任务正在运行;
当:“State: 0(SUCCESS)” State 状态为0的时候,表示任务已经成功运行完毕;
注意:在任务运行完毕的记录下面,有“INFO Start execute shell on node XXXXXXX” 这段话表示,该任务实际运行在 XXXXXXX 这台机器上。
排错小助手:当有脏数据的时候,无法将数据写入进去,日志就会报如下错误:
其实数据同步的任务日志,到上节为止,就结束了,下面的一长串日志,是DataX的详细执行日志(数据集成功能是针对阿里巴巴开源项目DataX做了一层封装),如图所示:
很多同学运行数据同步任务会报错,可以参考如下文档先进行错误排查:常见报错。
若常见报错无法解决您的问题,请带上完整的日志提工单反馈给我们。