数据导入常见问题排查
本文汇总了数据导入失败/超时常见问题
自助排查手册
完全自查
报错信息:xxx表无数据或xxx分区无数据,请自查数据源后重试。
潜在原因:
数据计算平台数据未生产,或写入异常
排查路径:
登录数据源,查询该表或分区是否有数据。查看在QA调度时是否有数据
建议解决方案:
上游系统补充数据,重新调度
如上游生产数据时间不定,QA配置的是定时更新。可以使用触发调度,打通上游系统和QA的联通
报错信息:特殊字段类型不支持Ilegal data type - column 'xxx列名' type 'xxx' is not allowed.
排查路径:
登录数据源,查询该表提示哪些字段是特殊的列类型;如BOOLEAN、ARRAY、MAP等
MC语法:DESC 表名;
GUASSDB语法:SELECT pg_get_tabledef('表名');
建议解决方案:
若无需该字段,则在导入时可以选择关闭该列
若该列一定需要,则可以转换成文本类型的字段列进行存储
自查+协助排查
报错信息:SQL解析异常Parse exception - invalid token 'FROM'
潜在原因:
出现了sql语法解析错误
排查路径:
请在【Quick Audience-配置管理-数据导入-表结构配置】界面中,查看表结构配置中的原始列表是否存在特殊符号的列表,如 /、-等符号
建议解决方案:
请前往数据源,修改列名为符合数据库规范的列名(如:字母开头,只包含字母数字_)
如非上述问题,请联系值班Quick Audience同学协助排查。
报错信息:①xxx表不存在 ②xxx表已存在
潜在原因:
表创建失败或已经存在
排查路径:
ADB:
登录ADB,查询是否有CREATE, DELETE, DROP, INSERT, SELECT, UPDATE,ALTER的操作
登录ADB管控台,查询在调度过程中,ADB是否在备份快照(在备份快照阶段,不允许执行DDL语法)
HOLO:
登录holo数据库,查询show hg_experimental_force_sync_replay的值是否为off。
建议解决方案:
ADB:
如无权限,请登录DMS平台授权账号对应权限
等ADB备份结束后,再执行Quick Audience调度任务(备注:如备份时间过长,请及时提ADB工单帮忙处理备份问题)
HOLO:
holo集群默认同步时异步,您可以通过在holo控制台执行语句:alter database dbname set hg_experimental_force_sync_replay = on; 来强制等待meta同步,但是会损耗holo的性能。
执行完之后重新开一个holo控制台通过 SQL 命令:show hg_experimental_force_sync_replay; 来查看是否已生效。
若非上述问题,请联系 Quick Audience 的值班同事协助进行排查。
报错信息:Quick Audience取消SQL请求canceling statement due to user request
潜在原因:
计算源或分析源负载比较高
数据量大长时间执行SQL未计算出结果,Quick Audience主动断开了连接(同步执行超时时间为3小时)。
排查路径:
登录计算源后台查询是否负载过高
后台查询正在执行sql,查询表中数据量是否符合预期
建议解决方案:
保证资源充足:各个空间任务不相互影响,可各自采购计算资源。减少相互间的依赖,避免资源抢占,运行缓慢;随着数据量增多和空间增加,需要适当查看计算源和分析源资源是否充足。
运行时间错峰:多个空间使用相同的计算源和分析源资源,各个空间QA的调度任务运行时间尽量错开,避免资源抢占,运行缓慢。如果客户外部系统使用该计算源和分析源,也需错开使用时间。
若非上述问题,请联系Quick Audience值班同学协助排查。
报错信息:调度任务执行超时
潜在原因:
计算源或分析源负载比较高
数据量大长时间执行SQL未计算出结果(调度任务超时时间为6小时)。
排查路径:
登录计算源后台查询是否负载过高
后台查询正在执行sql,查询表中数据量是否符合预期
建议解决方案:
保证资源充足:各个空间任务不相互影响,可各自采购计算资源。减少相互间的依赖,避免资源抢占,运行缓慢;随着数据量增多和空间增加,需要适当查看计算源和分析源资源是否充足。
运行时间错峰:多个空间使用相同的计算源和分析源资源,各个空间QA的调度任务运行时间尽量错开,避免资源抢占,运行缓慢。如果客户外部系统使用该计算源和分析源,也需错开使用时间。
若非上述问题,请联系Quick Audience值班同学协助排查。
任务运行缓慢解决办法
保证资源充足:各个空间任务不相互影响,可各自采购计算资源。减少相互间的依赖,避免资源抢占,运行缓慢;随着数据量增多和空间增加,需要适当查看计算源和分析源资源是否充足。
运行时间错峰:多个空间使用相同的计算源和分析源资源,各个空间QA的调度任务运行时间尽量错开,避免资源抢占,运行缓慢。如果客户外部系统使用该计算源和分析源,也需错开使用时间。
批量调度,多表导入:可以在调度任务中,选择表选择多张表配置一个调度任务,减少idmaping次数和。加快多张表导入
QA调度任务实时检测配置
如果您需要及时了解调度任务状态,可在【Quick Audience-配置管理-高级设置-实时检测告警】模块,配置钉钉实时检测告警,该配置可实时检测任务超时和失败原因(如预期时间内未完成任务告警,需创建钉钉告警群,并配置webhook机器人)。