亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spark Dataset - NumberFormatException:

Spark Dataset - NumberFormatException:

白板的微信 2022-08-17 16:47:30
當我嘗試創建數據集并從中收集數據時,我遇到了一個奇怪的異常。Exception in thread "main" java.lang.NumberFormatException: Zero length BigInteger    at java.math.BigInteger.<init>(BigInteger.java:302)    at org.apache.spark.sql.catalyst.expressions.UnsafeRow.getDecimal(UnsafeRow.java:405)    at org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificUnsafeProjection.writeFields_3_3$(generated.java:298)    at org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificUnsafeProjection.apply(generated.java:35)    at org.apache.spark.sql.execution.LocalTableScanExec$$anonfun$unsafeRows$1.apply(LocalTableScanExec.scala:41)    at org.apache.spark.sql.execution.LocalTableScanExec$$anonfun$unsafeRows$1.apply(LocalTableScanExec.scala:41)    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)執行代碼如下所示:List<SimplePojo> list ...Dataset<SimplePojo> ds = sparkSession.createDataset(list, Encoders.bean(SimplePojo.class))ds.collectoAsList();SimplePojo 類包含一個方法 getSomething(),這顯然會導致異常。當我注釋掉它時,一切都很好。public class SimplePojo {   private int id;   private OtherPojo otherPojo = new OtherPojo();   @Deprecated // required by park serialization. Use builder   public SimplePojo(){}   publi int getId(){      return id;   }   public String getSomething() {      return otherPojo.getSomething();   }   // sets ...}有沒有人知道可能發生了什么?
查看完整描述

1 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

事實證明,我不能有不屬于豆子的get。我假設它是分析器期望的“豆類格式”。Introspector在發現一個沒有各自屬性的get時會發瘋(根據Java版本的不同方式)。

由于我無論如何都找不到對分析器說“忽略此方法”,因此解決方案是避免與bean屬性無關的getset。


查看完整回答
反對 回復 2022-08-17
  • 1 回答
  • 0 關注
  • 278 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號