1. 錯誤背景
前些天,Spark讀取Oracle數據庫時發生這個報錯。Numberic Overflow,一般來說就是拿來裝數字的字段類型裝不下了。比如你用 Int類型來裝 Long類型的大數字。一般這種問題,將字段類型增大即可,但幾經嘗試,發現結果並不是如此,不過怎麼加大Spark中對應的字段類型,都無濟於事。
2. 錯誤詳情
Oracle表中, 字段【PGI】爲 NUMBER(10),而這個字段中的最大值是 9876543210,也佔10位,剛好用滿。
3. 解決方案
將Number(10) 改爲 Number(16),問題成功解決!
4. 不知道如何總結
當大數據組件遇到這類Numberic Overflow錯誤,除了可能是大數據字段支持容量小,還可以考慮增大數據源字段長度
如果這篇文章對您有幫助,麻煩下左下角的贊!!!