Apache Spark Auftrag schlägt fehl mitFailed to parse byte stringApache Spark job fails with Failed to parse byte string

ProblemProblem

Spark-Submit-Aufträge schlagen mit einer Failed to parse byte string: -1 Fehlermeldung fehl.Spark-submit jobs fail with a Failed to parse byte string: -1 error message.

java.util.concurrent.ExecutionException: java.lang.NumberFormatException: Size must be specified as bytes (b), kibibytes (k), mebibytes (m), gibibytes (g), tebibytes (t), or pebibytes(p). E.g. 50b, 100k, or 250m.
Failed to parse byte string: -1
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at org.apache.spark.sql.execution.exchange.BroadcastExchangeExec.doExecuteBroadcast(BroadcastExchangeExec.scala:182)
... 108 more
Caused by: java.lang.NumberFormatException: Size must be specified as bytes (b), kibibytes (k), mebibytes (m), gibibytes (g), tebibytes (t), or pebibytes(p). E.g. 50b, 100k, or 250m.
Failed to parse byte string: -1

UrsacheCause

Der Wert der spark.driver.maxResultSize Anwendungs Eigenschaft ist negativ.The value of the spark.driver.maxResultSize application property is negative.

LösungSolution

Der zugewiesene Wert spark.driver.maxResultSize definiert die maximale Größe (in Bytes) der serialisierten Ergebnisse für jede Spark-Aktion.The value assigned to spark.driver.maxResultSize defines the maximum size (in bytes) of the serialized results for each Spark action. Sie können der-Eigenschaft einen positiven Wert zuweisen spark.driver.maxResultSize , um eine bestimmte Größe zu definieren.You can assign a positive value to the spark.driver.maxResultSize property to define a specific size. Sie können auch den Wert 0 zuweisen, um eine unbegrenzte maximale Größe zu definieren.You can also assign a value of 0 to define an unlimited maximum size. Sie können dieser Eigenschaft keinen negativen Wert zuweisen.You cannot assign a negative value to this property.

Wenn die Gesamtgröße eines Auftrags über dem Wert liegt spark.driver.maxResultSize , wird der Auftrag abgebrochen.If the total size of a job is above the spark.driver.maxResultSize value, the job is aborted.

Beim Festlegen eines übermäßig hohen (oder unbegrenzten) Werts sollten Sie vorsichtig sein spark.driver.maxResultSize .You should be careful when setting an excessively high (or unlimited) value for spark.driver.maxResultSize. Eine hohe Grenze kann Fehler aufgrund von nicht genügend Arbeitsspeicher im Treiber verursachen, wenn die spark.driver.memory Eigenschaft nicht hoch genug festgelegt ist.A high limit can cause out-of-memory errors in the driver if the spark.driver.memory property is not set high enough.

Weitere Informationen finden Sie unter Eigenschaften von Spark-Konfigurations Anwendungen .See Spark Configuration Application Properties for more details.