【错误处理】Spark读取数据库 Numberic Overflow

1. 错误背景

前些天,Spark读取Oracle数据库时发生这个报错。Numberic Overflow,一般来说就是拿来装数字的字段类型装不下了。比如你用 Int类型来装 Long类型的大数字。一般这种问题,将字段类型增大即可,但几经尝试,发现结果并不是如此,不过怎么加大Spark中对应的字段类型,都无济于事

2. 错误详情

Oracle表中, 字段【PGI】为 NUMBER(10),而这个字段中的最大值是 9876543210,也占10位,刚好用满。

3. 解决方案

Number(10) 改为 Number(16),问题成功解决!

4. 不知道如何总结

当大数据组件遇到这类Numberic Overflow错误,除了可能是大数据字段支持容量小,还可以考虑增大数据源字段长度

如果这篇文章对您有帮助,麻烦下左下角的赞!!!

你可能感兴趣的:(【错误处理】Spark读取数据库 Numberic Overflow)