【错误处理】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错误,除了可能是大数据字段支持容量小,还可以考虑增大数据源字段长度

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值