問題
spark提交作業失敗解析字節字符串失敗:-1錯誤消息。
java.util.concurrent.ExecutionException: java.lang.NumberFormatException: Size必須指定為bytes(b)、kibibytes (k)、mebibytes (m)、gibibytes (g)、tebibytes (t)或pebibytes(p)。例如50b、100k或250m。Failed to parse byte string: -1 at java.util.concurrent. futureask .report(futureask .java:122) at java.util.concurrent. futureask .get(futureask .java:206) at org.apache.spark.sql. execute .exchange. broadcastexchangeexec . doexecutebroadcast (BroadcastExchangeExec.scala:182)…108 more原因:java.lang.NumberFormatException: Size必須指定bytes(b)、kibibytes (k)、mebibytes (m)、gibibytes (g)、tebibytes (t)或pebibytes(p)。例如50b、100k或250m。解析字節字符串失敗:-1
導致
的值spark.driver.maxResultSize應用程序屬性為負。
解決方案
賦值給spark.driver.maxResultSize定義每個Spark操作序列化結果的最大大小(以字節為單位)。屬性的值可以賦為正值spark.driver.maxResultSize屬性定義特定的大小。還可以將值賦為0來定義不受限製的最大大小。不能將負值賦給此屬性。
如果作業的總大小大於spark.driver.maxResultSize值時,作業將中止。
的值設置過高(或無限)時應該小心spark.driver.maxResultSize.設置過高的限製會導致驅動程序出現內存不足錯誤spark.driver.memory屬性設置得不夠高。
看到Spark配置應用程序屬性欲知詳情。