1. 错误背景
前些天,Spark读取Oracle数据库时发生这个报错。Numberic Overflow,一般来说就是拿来装数字的字段类型装不下了。比如你用 Int类型来装 Long类型的大数字。一般这种问题,将字段类型增大即可,但几经尝试,发现结果并不是如此,不过怎么加大Spark中对应的字段类型,都无济于事。
2. 错误详情
Oracle表中, 字段【PGI】为 NUMBER(10),而这个字段中的最大值是 9876543210,也占10位,刚好用满。
3. 解决方案
将Number(10) 改为 Number(16),问题成功解决!
4. 不知道如何总结
当大数据组件遇到这类Numberic Overflow错误,除了可能是大数据字段支持容量小,还可以考虑增大数据源字段长度
如果这篇文章对您有帮助,麻烦下左下角的赞!!!