南大通用GBase 8a 集群加载数据LOAD的错误数据分析

GBase 8a数据库通过LOAD方式加载时,其错误数据将写入到指定的目录或位置上(新版已经支持指定sftp/ftp等),通过对错误日志trc信息,可以找到错误的原因,通过对err日志分析,可以找到该错误对应的数据行。彼此对照,可以排查出最终结果。

参考

GBase 8a获得加载的任务号taskId的参数gbase_loader_last_task_id

GBase 8a集群加载日期类型datetime自定义格式参数

错误日志位置

错误数据在连接节点的/opt/gbase/gcluster/log/gcluster/loader_logs/taskID目录下面。其中trc结尾的是错误日志,包含错误原因,以err结尾的是原始错误数据。

详细排查看《加载使用手册》 。

如下是一个简单的例子。摘录自加载使用手册。

错误原因日志

如下是一个例子

file_name    |   file_offset    |   record_len   |   column    |    reason

ftp://gbaseload:*********@191.168.17.207/unzip/aggr_volte_call_scene1_tacid_hour.20170607.0/aggr_volte_call_scene1_tacid_hour.20170607000000.20170607143457.645287821167.csv|0|189|4|validate error

包含如下几个部分:

file_name 加载错误的原始数据文件URI。

file_offset 错误数据开始位置的文件偏移量。

record_len 错误数据长度

column 错误列数,从1开始

reason 错误原因。

错误数据

如下是对应如上错误原因的数据例子,客户数据使用了尖号(^)作为分隔符。

2017-06-07 00:00:00^13^255^9223372036854775807^9223372036854775807^255^2^18^0^0^0^20402^21786^0.000000^5686^19590^19469^18814^13708^6828^2782^1121^548^328^227^129^239^21427^1156^20039^5927

1.1.1.1.3.     排查方法

对比表结构的错误字段(比如例子的第4列),再对应错误数据的对应数据(9223372036854775807),最终确认这条数据是由于列定义是16位,而数据为19位,数据非法。

南大通用GBase 8a 集群加载数据LOAD的错误数据分析》有1条评论

评论已关闭。