GBase 8a
运维管理
文章

GBase 8a MPP Cluster 执行load加载问题排查

发表于2024-10-23 14:04:44190次浏览1个评论

问题场景:
向 test2 表中加载一个447行数据的文件。

执行load命令后,下方显示操作了446行,耗时0.90秒。

并输出如下统计信息:

Task 6173 finished, Loaded 446 records, Skipped 1 records

/*6173号任务完成,有446行数据完成加载,有1行数据被跳过*/

排查方法:
       当发现加载异常后,可以去下发这条SQL的节点(所连接的coordinator节点)上$GCLUSTER_BASE/gcluster/log/gcluster/loader_logs 路径下寻找名为 6173 的目录。

       进入目录后,可以看到 .log | .err | .trc 后缀的几个文件。其中 .log 后缀的文件中有报错的SQL语句;.err 文件里是加载失败的文件数据;与 .err 文件同名,但后缀为 .trc 的文件中记录着 .err 里每行问题数据所对应的加载问题。

这里我们查看 .trc 文件里的内容,每列的释义如下:

       根据上述信息,我们了解到那条数据跳过的原因是“ text parser error ”文本解析错误,该问题通常是分隔符与文件中数据冲突,误把数据中与分隔符一致的符号解析成分隔符,导致该行数据列数与表结构实际列数不一致,无法正常加载导致。或者是数据文件的字符集与数据库中表的字符集不同,且没在加载时指定字符集格式。

       如果是字符集问题导致的加载失败,可以指定正确字符集后直接让数据库加载 .err 文件。

评论

登录后才可以发表评论
崔哥发表于 9个月前
赞积分,赞积分