场景:我将脚本计算后表A导出(从hive中导出到informix)到实例库的表中,改成并发执行(&)的时候,报错并锁表!
报错:step5.log:20/07/01 04:51:05 WARN tool.EvalSqlTool: SQL exception executing statement: java.sql.SQLException: Cannot read system catalog (sysindices)
报错:step5.log:Caused by: java.sql.SQLException: ISAM error: record is locked.
原因:锁和隔离级别用的不好的时候就会这样,需要先看下当前导出表的锁模式是P还是R,默认是P的,改成R;
解决:我测试过的结果是,在并发导数的语句行下面加上sleep 5就完美解决不报错,因为前一个清库有延迟,我估计是我们这边机器环境的问题;
在使用Hive导出数据到Informix时,尝试并发执行导致表锁冲突及系统目录读取错误。通过调整锁模式及在并发语句后添加延迟指令(sleep5),成功解决了并发导数过程中的报错问题。
1125

被折叠的 条评论
为什么被折叠?



